UDF: introduce struct extent_position
Introduce a structure extent_position to store a position of an extent and the corresponding buffer_head in one place. Signed-off-by: Jan Kara <jack@suse.cz> Acked-by: Christoph Hellwig <hch@infradead.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
@ -1883,21 +1883,20 @@ static unsigned int
|
||||
udf_count_free_table(struct super_block *sb, struct inode * table)
|
||||
{
|
||||
unsigned int accum = 0;
|
||||
uint32_t extoffset, elen;
|
||||
kernel_lb_addr bloc, eloc;
|
||||
uint32_t elen;
|
||||
kernel_lb_addr eloc;
|
||||
int8_t etype;
|
||||
struct buffer_head *bh = NULL;
|
||||
struct extent_position epos;
|
||||
|
||||
lock_kernel();
|
||||
|
||||
bloc = UDF_I_LOCATION(table);
|
||||
extoffset = sizeof(struct unallocSpaceEntry);
|
||||
epos.block = UDF_I_LOCATION(table);
|
||||
epos.offset = sizeof(struct unallocSpaceEntry);
|
||||
epos.bh = NULL;
|
||||
|
||||
while ((etype = udf_next_aext(table, &bloc, &extoffset, &eloc, &elen, &bh, 1)) != -1)
|
||||
{
|
||||
while ((etype = udf_next_aext(table, &epos, &eloc, &elen, 1)) != -1)
|
||||
accum += (elen >> table->i_sb->s_blocksize_bits);
|
||||
}
|
||||
udf_release_data(bh);
|
||||
udf_release_data(epos.bh);
|
||||
|
||||
unlock_kernel();
|
||||
|
||||
|
Reference in New Issue
Block a user