Bug 186125

Summary: gfs_fsck on GFS 6.1 leaves volume in an unmountable state
Product: [Retired] Red Hat Cluster Suite Reporter: Issue Tracker <tao>
Component: gfsAssignee: Robert Peterson <rpeterso>
Status: CLOSED ERRATA QA Contact: GFS Bugs <gfs-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 4CC: rkenna, stephen.willey, tao
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2006-0560 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2006-08-10 21:28:48 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On:    
Bug Blocks: 180185    
Attachments:
Description Flags
sysreport from cluster machine
none
Patch to fix the problem none

Description Issue Tracker 2006-03-21 19:35:20 UTC
Escalated to Bugzilla from IssueTracker

Comment 8 Jeff Layton 2006-03-21 19:37:40 UTC
Created attachment 126424 [details]
sysreport from cluster machine

Comment 12 Robert Peterson 2006-03-22 22:23:03 UTC
I was able to recreate this failure using a sparse device and gdb.
The problem should be easy to figure out and, with a little luck, easy to fix.


Comment 13 Robert Peterson 2006-03-23 20:33:45 UTC
Created attachment 126571 [details]
Patch to fix the problem

This problem occurs if gfs_fsck is run on a filesystem that is more
than 5TB in size, and possibly under other conditions.	What really
triggers it is when the hidden/internal resource group index file
(rgindex) has more than one level of indirection.  In my recreation,
the rgindex had 20888 resource group entries.

While gfs_fsck is running, it changes the lock protocol to ensure
that noone can mount the filesystem as it is being checked.
Once the error has occurred and gfs_fsck has given up on a filesystem, 
it exits, but forgets to change the lock protocol back to lock_dlm,
thus making the filesystem unusable.  To make the filesystem usable
again, merely change the protocol back to lock_dlm as follows:

gfs_tool sb /dev/<your device> proto lock_dlm

The problem described by this bug was caused by an omission from
gfs_fsck's bitmap code that appears to be complete in the gfs kernel
code.  This patch attempts to fix the problem.	It's been tested and
works on a 5.1TB sparse device filesystem (basically, faking out the
device mapper to think the filesystem is bigger than it really is).

The fix is basically to handle the level of indirection needed rather
than exiting.

Comment 21 Robert Peterson 2006-05-15 13:44:14 UTC
*** Bug 191708 has been marked as a duplicate of this bug. ***

Comment 25 Red Hat Bugzilla 2006-08-10 21:28:56 UTC
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 the 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.

http://rhn.redhat.com/errata/RHBA-2006-0560.html