aboutsummaryrefslogtreecommitdiff
path: root/e2fsck/super.c
diff options
context:
space:
mode:
authorEric Sandeen <sandeen@redhat.com>2008-11-22 09:02:48 -0600
committerTheodore Ts'o <tytso@mit.edu>2009-04-07 13:20:53 -0400
commitd9ff474b742f700e049f336f055918060f21a543 (patch)
tree5e2ce565e8855ac138413bb84c62b699416250e2 /e2fsck/super.c
parenta620baddee647faf42c49ee2e04ee3f667149d68 (diff)
downloade2fsprogs-d9ff474b742f700e049f336f055918060f21a543.tar.gz
e2fsck: ignore differing NEEDS_RECOVERY flag on backup sbs
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. Addresses-Red-Hat-Bugzilla: #471925 Signed-off-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'e2fsck/super.c')
-rw-r--r--e2fsck/super.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/e2fsck/super.c b/e2fsck/super.c
index 24ec7a8f..2d50ad55 100644
--- a/e2fsck/super.c
+++ b/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
@@ -873,7 +874,8 @@ void check_super_block(e2fsck_t ctx)
*/
#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)
{