On Wed, Apr 08, 2009 at 05:46:05PM -0400, Nick Dokos wrote: > The block number comparison in ext2fs_block_alloc_stats2() is invalid > for 64-bit filesystems: it compares the block number to the low > 32-bits of the blocks_count in the superblock. That caused the journal > file for a 32TiB filesystem to be malformed and the resulting filesystem > could not be mounted. > > The function now uses ext2fs_blocks_count() [from blknum.c] to calculate > the number of blocks. > > With this change, the journal looks sane and the filesystem could be > mounted. > > Signed-off-by: Nick Dokos <nicholas.dokos@xxxxxx> Signed-off-by: Valerie Aurora (Henson) <vaurora@xxxxxxxxxx> > --- > lib/ext2fs/alloc_stats.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/lib/ext2fs/alloc_stats.c b/lib/ext2fs/alloc_stats.c > index 7895aee..f0c5a64 100644 > --- a/lib/ext2fs/alloc_stats.c > +++ b/lib/ext2fs/alloc_stats.c > @@ -65,7 +65,7 @@ void ext2fs_block_alloc_stats2(ext2_filsys fs, blk64_t blk, int inuse) > int group = ext2fs_group_of_blk2(fs, blk); > > #ifndef OMIT_COM_ERR > - if (blk >= fs->super->s_blocks_count) { > + if (blk >= ext2fs_blocks_count(fs->super)) { > com_err("ext2fs_block_alloc_stats2", 0, > "Illegal block number: %lu", blk); > return; > -- > 1.6.0.6 > -- 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