Red Hat Bugzilla – Bug 440897
GFS: gfs_fsck should repair gfs_grow corruption (see bug #436383)
Last modified: 2010-01-11 22:34:11 EST
+++ This bug was initially created as a clone of Bug #440896 +++
This was cloned so I can crosswrite the fix to RHEL5.
Description of problem:
The problem described in bug #436383 (RHEL4) and bug #434962 (RHEL5)
introduces corruption into a gfs file system. Today's gfs_fsck is
unable to repair that damage, and I think it needs to.
Version-Release number of selected component (if applicable):
Easily (now that I know the trick).
Steps to Reproduce:
1. Follow the steps listed in bug #436383 to corrupt a file system
2. Run gfs_fsck on the corrupt file system
gfs_fsck's resource group analysis says "(passed)" and no corruption
[root@exxon-01 /home/bob]# gfs_fsck /dev/exxon_vg/exxon_lv
Can't seek to last block in file system: 4309132281
Unable to determine the boundaries of the file system.
gfs_fsck should detect and repair the damage gracefully.
I've got a prototype patch that does this. The RHEL4 version is
attached to bug #436383. It still needs some testing.
Created attachment 302272 [details]
Patch to fix the problem
This patch to gfs_fsck detects and repairs the rindex corruption caused
by gfs_grow in bug #436383. This patch does NOT include any of the other
bugs I found and fixed in gfs_fsck related to rindex repair. The right
thing to do is open a new bugzilla record for those fixes, which I will
do shortly. I do have that set of fixes for gfs_fsck written, debugged,
tested and in-hand as well, but it's better to do that with a different
This fix passes my hours-long "gfs_fsck_hellfire" test with flying colors.
I pushed the fix to the RHEL5, STABLE2 and master branches of the cluster
git tree. Now I need some ack flags from the appropriate parties so I
can mark this modified.
Tested on roth-01. Changing status to modified.
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.