From: Theodore Ts'o Date: Fri, 26 Dec 2014 04:43:10 +0000 (-0500) Subject: Merge branch 'maint' into next X-Git-Tag: v1.43-WIP-2015-05-18~98 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=9a32411732dd9088e1a81a37ab1404e5c191e280;p=tools%2Fe2fsprogs.git Merge branch 'maint' into next Conflicts: lib/ext2fs/inode.c --- 9a32411732dd9088e1a81a37ab1404e5c191e280 diff --cc lib/ext2fs/inode.c index ff7009b,a2f2ecd..8cc0eb8 --- a/lib/ext2fs/inode.c +++ b/lib/ext2fs/inode.c @@@ -180,9 -148,13 +180,12 @@@ errcode_t ext2fs_open_inode_scan(ext2_f scan->current_group); scan->inodes_left = EXT2_INODES_PER_GROUP(scan->fs->super); scan->blocks_left = scan->fs->inode_blocks_per_group; - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { + if (ext2fs_has_group_desc_csum(fs)) { - scan->inodes_left -= - ext2fs_bg_itable_unused(fs, scan->current_group); + __u32 unused = ext2fs_bg_itable_unused(fs, scan->current_group); + if (scan->inodes_left > unused) + scan->inodes_left -= unused; + else + scan->inodes_left = 0; scan->blocks_left = (scan->inodes_left + (fs->blocksize / scan->inode_size - 1)) * @@@ -273,9 -244,13 +276,12 @@@ static errcode_t get_next_blockgroup(ex scan->bytes_left = 0; scan->inodes_left = EXT2_INODES_PER_GROUP(fs->super); scan->blocks_left = fs->inode_blocks_per_group; - if (EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { + if (ext2fs_has_group_desc_csum(fs)) { - scan->inodes_left -= - ext2fs_bg_itable_unused(fs, scan->current_group); + __u32 unused = ext2fs_bg_itable_unused(fs, scan->current_group); + if (scan->inodes_left > unused) + scan->inodes_left -= unused; + else + scan->inodes_left = 0; scan->blocks_left = (scan->inodes_left + (fs->blocksize / scan->inode_size - 1)) *