Bug 675745

Summary: GFS2: panics on quotacheck update
Product: Red Hat Enterprise Linux 6 Reporter: Abhijith Das <adas>
Component: kernelAssignee: Abhijith Das <adas>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1CC: rwheeler, swhiteho
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: kernel-2.6.32-117.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 12:42:26 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
small program to update quota using quotactl
none
another program to mimic operation of quotacheck utility
none
patch to fix the problem
none
Upstream version of the patch none

Description Abhijith Das 2011-02-07 15:42:41 UTC
Description of problem:
When quotacheck attempts to update a gfs2 quota (that falls within block 0 of the quota file), a NULL-pointer dereference panic is triggered.

This is due to the fact that the gfs2 quota file is forcefully unstuffed in gfs2_adjust_quota(). But when quotacheck attempts the update, gfs2 concludes that no additional blocks need to be allocated as this is all in the first block of the file that's already allocated. However, the forceful unstuffing does need one block to be allocated and it panics because that block has not been allocated.

Also, there's another special case that needs handling. Some quotas lie on block boundaries and need to update two blocks instead of one. For such quotas, the block reservation for the transaction falls short of what is needed and an assert is tripped.

Comment 1 RHEL Program Management 2011-02-07 15:50:46 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 2 Abhijith Das 2011-02-07 15:51:11 UTC
Created attachment 477440 [details]
small program to update quota using quotactl

Comment 3 Abhijith Das 2011-02-07 15:52:03 UTC
Created attachment 477441 [details]
another program to mimic operation of quotacheck utility

Comment 4 Abhijith Das 2011-02-07 16:07:13 UTC
Created attachment 477444 [details]
patch to fix the problem

Comment 5 Abhijith Das 2011-02-07 16:17:25 UTC
Created attachment 477451 [details]
Upstream version of the patch

Comment 6 Abhijith Das 2011-02-07 16:31:10 UTC
Posted patch in comment #5 for inclusion upstream
Posted patch in comment #4 to rhkernel-list for inclusion in RHEL6.1

Comment 7 Aristeu Rozanski 2011-02-18 22:20:41 UTC
Patch(es) available on kernel-2.6.32-117.el6

Comment 10 Nate Straz 2011-05-09 16:11:50 UTC
Verified with attached test programs against 2.6.32-131.0.10.el6.x86_64

Comment 11 errata-xmlrpc 2011-05-19 12:42:26 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 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.

http://rhn.redhat.com/errata/RHSA-2011-0542.html