38 lines
1.6 KiB
Diff
38 lines
1.6 KiB
Diff
|
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 <sandeen@redhat.com>
|
||
|
---
|
||
|
|
||
|
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)
|
||
|
{
|