Lines Matching refs:epos
29 static void extent_trunc(struct inode *inode, struct extent_position *epos, in extent_trunc() argument
50 udf_write_aext(inode, epos, &neloc, nelen, 0); in extent_trunc()
69 struct extent_position epos = {}; in udf_truncate_tail_extent() local
92 while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) { in udf_truncate_tail_extent()
105 epos.offset -= adsize; in udf_truncate_tail_extent()
106 extent_trunc(inode, &epos, &eloc, etype, elen, nelen); in udf_truncate_tail_extent()
107 epos.offset += adsize; in udf_truncate_tail_extent()
108 if (udf_next_aext(inode, &epos, &eloc, &elen, 1) != -1) in udf_truncate_tail_extent()
118 brelse(epos.bh); in udf_truncate_tail_extent()
123 struct extent_position epos = { NULL, 0, {0, 0} }; in udf_discard_prealloc() local
142 epos.block = iinfo->i_location; in udf_discard_prealloc()
145 while ((netype = udf_next_aext(inode, &epos, &eloc, &elen, 1)) != -1) { in udf_discard_prealloc()
150 epos.offset -= adsize; in udf_discard_prealloc()
152 extent_trunc(inode, &epos, &eloc, etype, elen, 0); in udf_discard_prealloc()
153 if (!epos.bh) { in udf_discard_prealloc()
155 epos.offset - in udf_discard_prealloc()
160 (struct allocExtDesc *)(epos.bh->b_data); in udf_discard_prealloc()
162 cpu_to_le32(epos.offset - in udf_discard_prealloc()
166 udf_update_tag(epos.bh->b_data, epos.offset); in udf_discard_prealloc()
168 udf_update_tag(epos.bh->b_data, in udf_discard_prealloc()
170 mark_buffer_dirty_inode(epos.bh, inode); in udf_discard_prealloc()
176 brelse(epos.bh); in udf_discard_prealloc()
180 struct extent_position *epos, in udf_update_alloc_ext_desc() argument
186 struct allocExtDesc *aed = (struct allocExtDesc *) (epos->bh->b_data); in udf_update_alloc_ext_desc()
193 udf_update_tag(epos->bh->b_data, len); in udf_update_alloc_ext_desc()
194 mark_buffer_dirty_inode(epos->bh, inode); in udf_update_alloc_ext_desc()
204 struct extent_position epos; in udf_truncate_extents() local
221 etype = inode_bmap(inode, first_block, &epos, &eloc, &elen, &offset); in udf_truncate_extents()
229 epos.offset -= adsize; in udf_truncate_extents()
230 extent_trunc(inode, &epos, &eloc, etype, elen, byte_offset); in udf_truncate_extents()
231 epos.offset += adsize; in udf_truncate_extents()
233 lenalloc = epos.offset; in udf_truncate_extents()
235 lenalloc = epos.offset - adsize; in udf_truncate_extents()
237 if (!epos.bh) in udf_truncate_extents()
242 while ((etype = udf_current_aext(inode, &epos, &eloc, in udf_truncate_extents()
245 udf_write_aext(inode, &epos, &neloc, nelen, 0); in udf_truncate_extents()
249 BUG_ON(!epos.bh); in udf_truncate_extents()
250 udf_free_blocks(sb, NULL, &epos.block, in udf_truncate_extents()
252 } else if (!epos.bh) { in udf_truncate_extents()
257 &epos, lenalloc); in udf_truncate_extents()
258 brelse(epos.bh); in udf_truncate_extents()
259 epos.offset = sizeof(struct allocExtDesc); in udf_truncate_extents()
260 epos.block = eloc; in udf_truncate_extents()
261 epos.bh = udf_tread(sb, in udf_truncate_extents()
270 extent_trunc(inode, &epos, &eloc, etype, elen, 0); in udf_truncate_extents()
271 epos.offset += adsize; in udf_truncate_extents()
276 BUG_ON(!epos.bh); in udf_truncate_extents()
277 udf_free_blocks(sb, NULL, &epos.block, 0, indirect_ext_len); in udf_truncate_extents()
278 } else if (!epos.bh) { in udf_truncate_extents()
282 udf_update_alloc_ext_desc(inode, &epos, lenalloc); in udf_truncate_extents()
285 brelse(epos.bh); in udf_truncate_extents()