Bug 232715

Summary: fix double AIO completion due to invalidate_inode_pages2 failure
Product: Red Hat Enterprise Linux 5 Reporter: Jeff Moyer <jmoyer>
Component: kernelAssignee: Jeff Moyer <jmoyer>
Status: CLOSED ERRATA QA Contact: Martin Jenner <mjenner>
Severity: medium Docs Contact:
Priority: medium    
Version: 5.0CC: dzickus, jburke
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://lkml.org/lkml/2007/2/8/337
Whiteboard:
Fixed In Version: RHBA-2007-0959 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2007-11-07 19:44:34 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
fix double AIO completion due to invalidate_inode_pages2_range failure none

Description Jeff Moyer 2007-03-16 19:39:01 UTC
Description of problem:
Before this patch we had the problem where this invalidation failure would
clobber -EIOCBQUEUED as it made its way from fs/direct-io.c to fs/aio.c.  Both
fs/aio.c and bio completion call aio_complete() and we reference freed memory,
usually oopsing.

This patch addresses this problem by invalidating before the write so that we
can cleanly return -EIO before ->direct_IO() has had a chance to return
-EIOCBQUEUED.


Version-Release number of selected component (if applicable):
kernel-2.6.18-8.el5

How reproducible:
Fairly.

Steps to Reproduce:
1. Run the aio_dio_bugs tests in the autotest test suite.
  
Actual results:
Kernel panic

Expected results:
No kernel panic

Additional info:
Fix posted to lkml:

http://archives.free.net.ph/message/20070309.223557.f7c1c3ed.en.html

Comment 1 Jeff Moyer 2007-03-16 20:56:11 UTC
Created attachment 150279 [details]
fix double AIO completion due to invalidate_inode_pages2_range failure

Comment 2 RHEL Program Management 2007-03-16 21:04: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 5 Don Zickus 2007-06-16 00:32:12 UTC
in 2.6.18-27.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 8 errata-xmlrpc 2007-11-07 19:44:34 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-0959.html