Bug 684705

Summary: missed unlock_page() in gfs2_write_begin()
Product: Red Hat Enterprise Linux 6 Reporter: Maxim <maxim.patlasov>
Component: kernelAssignee: Steve Whitehouse <swhiteho>
Status: CLOSED ERRATA QA Contact: Cluster QE <mspqa-list>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.0CC: adas, bmarzins, rpeterso, rwheeler, swhiteho
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: kernel-2.6.32-125.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 684795 (view as bug list) Environment:
Last Closed: 2011-05-19 12:44: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:
Bug Depends On:    
Bug Blocks: 684795    
Attachments:
Description Flags
adding missed unlock_page() none

Description Maxim 2011-03-14 09:49:44 UTC
Created attachment 484118 [details]
adding missed unlock_page()

Description of problem:

gfs2_write_begin() calls grab_cache_page_write_begin() that returns *locked* page. Correspondent error-handling path lacks for unlock_page() call:

> out:
> 	if (error == 0)
> 		return 0;
> 
> 	page_cache_release(page);

Version-Release number of selected component (if applicable):

2.6.32-71.18.2.el6

How reproducible:

The whole system hangs if gfs2_unstuff_dinode() called from gfs2_write_begin() failed for some reason.

Additional info:

Attached trivial patch solving the problem.

Comment 2 RHEL Program Management 2011-03-14 14:20:07 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 Steve Whitehouse 2011-03-14 14:33:18 UTC
Maxim, many thanks for the patch. I've got it queued up for all upstream and RHEL now.

If you are a customer and require the fix before the next scheduled release, please contact our support team and give them the bz number and they should be able to help you.

Comment 4 Aristeu Rozanski 2011-03-22 14:50:54 UTC
Patch(es) available on kernel-2.6.32-125.el6

Comment 7 Nate Straz 2011-04-11 19:28:51 UTC
Verified patch is applied to kernel-2.6.32-130.el6.

Comment 8 errata-xmlrpc 2011-05-19 12:44: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 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