Description of problem:
In BZ232715 a patch from upstream was committed to resolve double AIO completion
due to invalidate_inode_pages2 failure. Unfortunately that patch introduced a
regression in the kernel that can cause a transient journal file corruption. A
Red Hat ISV partner reported this problem to Red Hat very recently.
Version-Release number of selected component (if applicable):
Can be reproduced
Steps to Reproduce:
This problem was resolved in the upstream kernel with commit
bdb76ef5a4bc8676a81034a443f1eda450b4babb ("dio: fix cache invalidation after
A thread on lkml (including patch) can be found at the link below.
This bugzilla has Keywords: Regression.
Since no regressions are allowed between releases,
it is also being proposed as a blocker for this release.
Please resolve ASAP.
We have a regression test for this (aio-dio-regress) which gets run through
RHTS. I also modified the test to check the async DIO case, and there is an
additional failure there. I have a patch that I'm running by our performance
team for that. Once I have sign-off from them, I'll post the two patches here.
Again, test for this is covered by the aio-dio-regress regression tests that we
run via RHTS.
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
Created attachment 310935 [details]
dio: fix cache invalidation after sync writes
This patch fixes the aio-dio-regress test case.
You can download this test kernel from http://people.redhat.com/dzickus/el5
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.