udf: improve readability of do_udf_readdir
PATCH 2/5 udf: improve readability of do_udf_readdir
make reading do_udf_readdir easier by adding new variable
Signed-off-by Marcin Slusarz <[email protected]>
CC Ben Fennema <[email protected]>
Acked-by Jan Kara <[email protected]>
--- fs/udf/dir.c | 15 +++++++++------ 1 files changed, 9 insertions(+), 6 deletions(-)
fs/udf/dir.c +9 -6
@@ -57,6 +57,7 @@ static int do_udf_readdir(struct inode *dir, struct file *filp,int i, num;unsigned int dt_type;struct extent_position epos = {NULL ,0 , {0 ,0 } }; +unsigned char bits;if (nf_pos >= size)return 0 ;
@@ -65,12 +66,14 @@ static int do_udf_readdir(struct inode *dir, struct file *filp, nf_pos = (udf_ext0_offset (dir) >>2 ); fibh.soffset = fibh.eoffset = (nf_pos & ((dir->i_sb->s_blocksize -1 ) >>2 )) <<2 ; + bits = dir->i_sb->s_blocksize_bits; +if (UDF_I_ALLOCTYPE (dir) ==ICBTAG_FLAG_AD_IN_ICB ) { fibh.sbh = fibh.ebh =NULL ; - }else if (inode_bmap (dir, nf_pos >> (dir->i_sb->s_blocksize_bits -2 ), + }else if (inode_bmap (dir, nf_pos >> (bits -2 ), &epos, &eloc, &elen, &offset) == (EXT_RECORDED_ALLOCATED >>30 )) { block =udf_get_lb_pblock (dir->i_sb, eloc, offset); -if ((++offset << dir->i_sb->s_blocksize_bits) < elen) { +if ((++offset << bits) < elen) {if (UDF_I_ALLOCTYPE (dir) ==ICBTAG_FLAG_AD_SHORT ) epos.offset -=sizeof (short_ad);else if (UDF_I_ALLOCTYPE (dir) ==ICBTAG_FLAG_AD_LONG )
@@ -84,10 +87,10 @@ static int do_udf_readdir(struct inode *dir, struct file *filp,return -EIO ; } -if (!(offset & ((16 >> (dir->i_sb->s_blocksize_bits -9 )) -1 ))) { - i =16 >> (dir->i_sb->s_blocksize_bits -9 ); -if (i + offset > (elen >> dir->i_sb->s_blocksize_bits)) - i = (elen >> dir->i_sb->s_blocksize_bits) - offset; +if (!(offset & ((16 >> (bits -9 )) -1 ))) { + i =16 >> (bits -9 ); +if (i + offset > (elen >> bits)) + i = (elen >> bits) - offset;for (num =0 ; i >0 ; i--) { block =udf_get_lb_pblock (dir->i_sb, eloc, offset + i); tmp =udf_tgetblk (dir->i_sb, block);
--
1.5.3.4