[Cluster-devel] [PATCH 5/5] fsck.gfs2: Improve rindex consistency check

Andrew Price anprice at redhat.com
Tue Apr 13 13:05:32 UTC 2021


Before we were ignoring the flag set by rindex_read to tell whether
there are bad entries and the rindex was (sometimes) fixed by subsequent
checks failing. Check that flag and enable an rindex repair test that
previously failed.

Signed-off-by: Andrew Price <anprice at redhat.com>
---
 gfs2/fsck/initialize.c | 2 +-
 tests/fsck.at          | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/gfs2/fsck/initialize.c b/gfs2/fsck/initialize.c
index 4c266d9a..58dd23d3 100644
--- a/gfs2/fsck/initialize.c
+++ b/gfs2/fsck/initialize.c
@@ -751,7 +751,7 @@ static int fetch_rgrps_level(struct gfs2_sbd *sdp, enum rgindex_trust_level lvl,
 	if (rg_repair(sdp, lvl, ok) != 0)
 		goto fail;
 
-	if (rindex_read(sdp, count, ok) != 0)
+	if (rindex_read(sdp, count, ok) != 0 || !*ok)
 		goto fail;
 
 	ret = read_rgrps(sdp, *count);
diff --git a/tests/fsck.at b/tests/fsck.at
index 3b1c5af3..538d41ad 100644
--- a/tests/fsck.at
+++ b/tests/fsck.at
@@ -36,10 +36,10 @@ AT_KEYWORDS(fsck.gfs2 fsck)
 GFS_NUKERG_CHECK([mkfs.gfs2 -O -p lock_nolock $GFS_TGT], [-r 1])
 AT_CLEANUP
 
-#AT_SETUP([Fix bad rindex entry #0])
-#AT_KEYWORDS(fsck.gfs2 fsck)
-#GFS_NUKERG_CHECK([mkfs.gfs2 -O -p lock_nolock $GFS_TGT], [-i 0])
-#AT_CLEANUP
+AT_SETUP([Fix bad rindex entry #0])
+AT_KEYWORDS(fsck.gfs2 fsck)
+GFS_NUKERG_CHECK([mkfs.gfs2 -O -p lock_nolock $GFS_TGT], [-i 0])
+AT_CLEANUP
 
 AT_SETUP([Fix bad rindex entry #1])
 AT_KEYWORDS(fsck.gfs2 fsck)
-- 
2.30.2




More information about the Cluster-devel mailing list