xfs
[Top] [All Lists]

[PATCH] xfsprogs: write both features2 fields when xfs_admin changes laz

To: xfs-oss <xfs@xxxxxxxxxxx>
Subject: [PATCH] xfsprogs: write both features2 fields when xfs_admin changes lazy_count
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Wed, 28 Apr 2010 21:07:52 -0500
Cc: Marcin Mirosław <marcin@xxxxxxxx>
User-agent: Thunderbird 2.0.0.24 (Macintosh/20100228)
xfs_admin -c invokes repair directly to change lazy_count,
but it doesn't write both features2 fields, so this:

# mkfs.xfs -dfile,name=fsfile,size=10g -llazy-count=0
# xfs_admin -c 1 fsfile
# xfs_repair fsfile

yields errors.

Reported-by: Marcin Mirosław <marcin@xxxxxxxx>
Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxxx>
---

diff --git a/repair/phase1.c b/repair/phase1.c
index 618796e..dbfbc9b 100644
--- a/repair/phase1.c
+++ b/repair/phase1.c
@@ -117,11 +117,13 @@ phase1(xfs_mount_t *mp)
                if (lazy_count && !xfs_sb_version_haslazysbcount(sb)) {
                        sb->sb_versionnum |= XFS_SB_VERSION_MOREBITSBIT;
                        sb->sb_features2 |= XFS_SB_VERSION2_LAZYSBCOUNTBIT;
+                       sb->sb_bad_features2 |= XFS_SB_VERSION2_LAZYSBCOUNTBIT;
                        primary_sb_modified = 1;
                        printf(_("Enabling lazy-counters\n"));
                } else
                if (!lazy_count && xfs_sb_version_haslazysbcount(sb)) {
                        sb->sb_features2 &= ~XFS_SB_VERSION2_LAZYSBCOUNTBIT;
+                       sb->sb_bad_features2 &= ~XFS_SB_VERSION2_LAZYSBCOUNTBIT;
                        printf(_("Disabling lazy-counters\n"));
                        primary_sb_modified = 1;
                } else {


<Prev in Thread] Current Thread [Next in Thread>