From: Darrick J. Wong Date: Fri, 13 Dec 2013 04:33:45 +0000 (-0500) Subject: misc: use the checksum predicate function, not raw flag tests X-Git-Tag: v1.43-WIP-2015-05-18~368 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=22cde0096db5f6dbff5bbdcc6d0919c35186fee5;p=tools%2Fe2fsprogs.git misc: use the checksum predicate function, not raw flag tests metadata_csum implies uninit_bg, and in fact forces the bit off for rocompat with older implementations. Therefore, to detect the presence of checksums, we should use the predicate function to decide if group descriptor checksums are turned on, not open-coded flag tests. Signed-off-by: Darrick J. Wong Signed-off-by: "Theodore Ts'o" --- diff --git a/misc/e2image.c b/misc/e2image.c index 696359f..878149e 100644 --- a/misc/e2image.c +++ b/misc/e2image.c @@ -349,9 +349,7 @@ static void mark_table_blocks(ext2_filsys fs) ext2fs_inode_table_loc(fs, i)) { unsigned int end = (unsigned) fs->inode_blocks_per_group; /* skip unused blocks */ - if (!output_is_blk && - EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) + if (!output_is_blk && ext2fs_has_group_desc_csum(fs)) end -= (ext2fs_bg_itable_unused(fs, i) / EXT2_INODES_PER_BLOCK(fs->super)); for (j = 0, b = ext2fs_inode_table_loc(fs, i); diff --git a/resize/resize2fs.c b/resize/resize2fs.c index 0feff0f..fa4fe46 100644 --- a/resize/resize2fs.c +++ b/resize/resize2fs.c @@ -668,9 +668,7 @@ static errcode_t adjust_superblock(ext2_resize_t rfs, blk64_t new_size) * supports lazy inode initialization, we can skip * initializing the inode table. */ - if (lazy_itable_init && - EXT2_HAS_RO_COMPAT_FEATURE(fs->super, - EXT4_FEATURE_RO_COMPAT_GDT_CSUM)) { + if (lazy_itable_init && ext2fs_has_group_desc_csum(fs)) { retval = 0; goto errout; }