This is for RH bugzilla 471925 - Complete scan of filesystems expanded online When we resize online, the primary superblock gets copied to all the backups, and of course since we're mounted the NEEDS_RECOVERY flag is set. A subsequent fsck will find the backups have the NEEDS_RECOVERY flag set while the primary does not, and this forces a full fsck pass. I think this flag can be safely ignored in the flag comparisons. Signed-off-by: Eric Sandeen --- Index: e2fsprogs-1.41.4/e2fsck/super.c =================================================================== --- e2fsprogs-1.41.4.orig/e2fsck/super.c +++ e2fsprogs-1.41.4/e2fsck/super.c @@ -864,7 +864,8 @@ void check_super_block(e2fsck_t ctx) * try to discourage it in the future. In particular, for the newer * ext4 files, especially EXT4_FEATURE_RO_COMPAT_DIR_NLINK and * EXT3_FEATURE_INCOMPAT_EXTENTS. So some of these may go away in the - * future. + * future. EXT3_FEATURE_INCOMPAT_RECOVER may also get set when + * copying the primary superblock during online resize. * * The kernel will set EXT2_FEATURE_COMPAT_EXT_ATTR, but * unfortunately, we shouldn't ignore it since if it's not set in the @@ -877,7 +878,8 @@ void check_super_block(e2fsck_t ctx) #define FEATURE_COMPAT_IGNORE (EXT2_FEATURE_COMPAT_EXT_ATTR) #define FEATURE_RO_COMPAT_IGNORE (EXT2_FEATURE_RO_COMPAT_LARGE_FILE| \ EXT4_FEATURE_RO_COMPAT_DIR_NLINK) -#define FEATURE_INCOMPAT_IGNORE (EXT3_FEATURE_INCOMPAT_EXTENTS) +#define FEATURE_INCOMPAT_IGNORE (EXT3_FEATURE_INCOMPAT_EXTENTS| \ + EXT3_FEATURE_INCOMPAT_RECOVER) int check_backup_super_block(e2fsck_t ctx) {