On Thu, Oct 21, 2010 at 8:06 AM, Eric Sandeen <sandeen@xxxxxxxxxx> wrote: > ck ya wrote: >> I compiled the latest e2fsprogs, and do fsck with -nvf on my ext4 file system. >> It showed >> Inode 18, i_blocks is 17179870744, should be 17179870744. Fix? no >> The i_blocks is the same. >> >> I found ext2fs_inode_i_blocks() has problem. The function check >> EXT4_FEATURE_RO_COMPAT_HUGE_FILE with "s_feature_compat". It should >> be "s_feature_ro_compat". > > Seems right to me, if you add [PATCH] to the subject emails like > these, and add: > > Signed-off-by: ck ya <ykwan0201@xxxxxxxxx> > --- > > after the patch, > > it'd be ideal. > > Thanks, > -Eric > >> Thanks. >> >> diff --git a/lib/ext2fs/blknum.c b/lib/ext2fs/blknum.c >> index a48b696..d67c6ec 100644 >> --- a/lib/ext2fs/blknum.c >> +++ b/lib/ext2fs/blknum.c >> @@ -49,7 +49,7 @@ blk64_t ext2fs_inode_data_blocks2(ext2_filsys fs, >> struct ext2_inode *inode) >> { >> return (inode->i_blocks | >> - ((fs->super->s_feature_incompat & >> + ((fs->super->s_feature_ro_incompat & >> EXT4_FEATURE_RO_COMPAT_HUGE_FILE) ? >> (__u64) inode->osd2.linux2.l_i_blocks_hi << 32 : 0)) - >> (inode->i_file_acl ? fs->blocksize >> 9 : 0); >> @@ -62,7 +62,7 @@ blk64_t ext2fs_inode_i_blocks(ext2_filsys fs, >> struct ext2_inode *inode) >> { >> return (inode->i_blocks | >> - ((fs->super->s_feature_incompat & >> + ((fs->super->s_feature_ro_incompat & >> EXT4_FEATURE_RO_COMPAT_HUGE_FILE) ? >> (__u64)inode->osd2.linux2.l_i_blocks_hi << 32 : 0)); >> } Hmm, looks strikingly similar to what I posted nearly two months ago. :) -Justin -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html