* Sat Apr 11 2009 Eric Sandeen <sandeen@redhat.com> 1.41.4-6

- ignore differing NEEDS_RECOVERY flag on fsck post-resize (#471925)
This commit is contained in:
Eric Sandeen 2009-04-11 13:29:14 +00:00
parent 474e2ca00d
commit 39346b1b74
2 changed files with 44 additions and 1 deletions

View File

@ -0,0 +1,37 @@
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)
{

View File

@ -4,7 +4,7 @@
Summary: Utilities for managing ext2, ext3, and ext4 filesystems
Name: e2fsprogs
Version: 1.41.4
Release: 5%{?dist}
Release: 6%{?dist}
# License based on upstream-modified COPYING file,
# which clearly states "V2" intent.
License: GPLv2
@ -18,6 +18,7 @@ Patch2: e2fsprogs-1.40.4-sb_feature_check_ignore.patch
Patch3: e2fsprogs-1.41.4-debugfs-stat-segfault.patch
Patch4: e2fsprogs-1.41.4-libext2fs-info.patch
Patch5: e2fsprogs-1.41.4-fix-blkid-segfault.patch
Patch6: e2fsprogs-1.41.4-ignore-NEEDS_RECOVERY-mismatch.patch
Url: http://e2fsprogs.sourceforge.net/
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -101,6 +102,8 @@ SMP systems.
%patch4 -p1 -b .info
# Fix blkid segfault in modules.dep scanning
%patch5 -p1 -b .info
# Ignore NEEDS_RECOVERY mismatch
%patch6 -p1 -b .recovery
%build
%configure --enable-elf-shlibs --enable-nls --disable-e2initrd-helper --enable-blkid-devmapper --enable-blkid-selinux
@ -299,6 +302,9 @@ fi
%dir %attr(2775, uuidd, uuidd) /var/lib/libuuid
%changelog
* Sat Apr 11 2009 Eric Sandeen <sandeen@redhat.com> 1.41.4-6
- ignore differing NEEDS_RECOVERY flag on fsck post-resize (#471925)
* Thu Feb 26 2009 Eric Sandeen <sandeen@redhat.com> 1.41.4-5
- fix a couple missed descriptions; obsolete e4fsprogs