DescriptionMikuláš Patočka
2008-04-15 16:50:20 UTC
+++ This bug was initially created as a clone of Bug #442577 +++
Description of problem:
Function mark_buffer_dirty() contains SMP-unsafe optimization. If CPU reorders
instructions in certain way, it may cause that modified data are not written and
filesystem corruption happens.
For discussion, see the thread at
http://www.uwsg.indiana.edu/hypermail/linux/kernel/0804.0/0854.html
There are several possible fixes with different performance and complexity (see
the thread), the one that went into upstream kernel is this:
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=1be62dc190ebaca331038962c873e7967de6cc4b;hp=4ed919014eb2b591eb8fdd4dd00226a65faddef4
Version-Release number of selected component (if applicable):
All
How reproducible:
Can't be reproduced, was found during source code review.
If data corruption because of this bug ever happened, it would be very hard to
link the corruption to this problem --- so maybe it would be better to fix the
bug preemtively.
Comment 1RHEL Program Management
2008-04-15 18:09:56 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 2RHEL Program Management
2008-09-03 13:10:23 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-2009-1024.html