Bug 245360 - GFS2: userland tools have problems with small block sizes
Summary: GFS2: userland tools have problems with small block sizes
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: gfs2-utils   
(Show other bugs)
Version: 5.0
Hardware: All
OS: Linux
Target Milestone: ---
: ---
Assignee: Robert Peterson
QA Contact: GFS Bugs
Depends On:
TreeView+ depends on / blocked
Reported: 2007-06-22 17:17 UTC by Robert Peterson
Modified: 2010-01-12 03:38 UTC (History)
2 users (show)

Fixed In Version: RHBA-2007-0579
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2007-11-07 18:05:02 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
patch to fix the problem (1.28 KB, patch)
2007-06-22 17:38 UTC, Robert Peterson
no flags Details | Diff

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2007:0579 normal SHIPPED_LIVE gfs2-utils bug fix update 2007-11-08 14:13:05 UTC

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:

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 Product and 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

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.


Note You need to log in before you can comment on or make changes to this bug.