Bug 245360

Summary: GFS2: userland tools have problems with small block sizes
Product: Red Hat Enterprise Linux 5 Reporter: Robert Peterson <rpeterso>
Component: gfs2-utilsAssignee: Robert Peterson <rpeterso>
Status: CLOSED ERRATA QA Contact: GFS Bugs <gfs-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: kanderso, rkenna
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2007-0579 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-07 18:05:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
patch to fix the problem none

Description Robert Peterson 2007-06-22 17:17:24 UTC
Description of problem:
The problem is in libgfs2, which has a problem with not writing out
indirect blocks properly.  This manifests itself most noticeibly
in mkfs.gfs2 because journals are 32MB.  If your block size is 1K,
for example, you can only fit 125 indirect page pointers on an
indirect page (99 pointers on the inode).  A 32MB journal therefore
needs a height of 3.  The problem is that these indirect pages were
not getting written out properly.

Version-Release number of selected component (if applicable):
RHEL5.1 beta

How reproducible:
Always

Steps to Reproduce:
mkfs.gfs2 -t smoke:aol -p lock_nolock -j 1 -b 1024 /dev/smokevg/aol
  
Actual results:
Indirect pointers will be all zeroes.  So trying to mount the file
system will crash.

Expected results:
The indirect pages should be non-zero and mount should not crash.

Additional info:

Comment 1 Robert Peterson 2007-06-22 17:38:07 UTC
Created attachment 157633 [details]
patch to fix the problem

Comment 2 RHEL Program Management 2007-06-22 17:43:26 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 3 Robert Peterson 2007-06-22 20:51:48 UTC
Fix tested on system salem and committed to cvs at HEAD and RHEL5
branches.  Setting status to modified.


Comment 4 Robert Peterson 2007-06-26 01:47:27 UTC
I found another problem with small block sizes during testing.
This has to do with the variable: sdp->bsize_shift.  This value
corresponds to the number of bits shifted left to make your block
size.  This was not being adjusted to reflect the correct block
size and therefore it was confusing file i/o operations.
I got rid of the point of confusion by eliminating the variable 
altogether and always using the on-disk superblock structure that 
has the equivalent: sb_bsize_shift.
Thus, I'm committing an addendum patch to fix the problem.


Comment 8 errata-xmlrpc 2007-11-07 18:05:02 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-2007-0579.html