This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours
Bug 874322 - [6.4] XFS log recovery failure leads to loss of data
[6.4] XFS log recovery failure leads to loss of data
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.4
Unspecified Unspecified
urgent Severity high
: rc
: ---
Assigned To: Dave Chinner
Boris Ranto
: ZStream
Depends On:
Blocks: 876498 876499 881827
  Show dependency treegraph
 
Reported: 2012-11-07 17:18 EST by Dave Chinner
Modified: 2013-02-21 01:55 EST (History)
14 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Previously, XFS could, under certain circumstances, incorrectly read metadata from the journal during XFS log recovery. As a consequence, XFS log recovery terminated with an error message and prevented the file system from being mounted. This problem could result in a loss of data if the user forcibly "zeroed" the log to allow the file system to be mounted. This update ensures that metadata is read correctly from the log so that journal recovery completes successfully and the file system mounts as expected.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-21 01:55:53 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Dave Chinner 2012-11-07 17:18:34 EST
Description of problem:

An log recovery problem was discovered upstream recently. Details in this thread here:

http://oss.sgi.com/archives/xfs/2012-10/msg00537.html

TL,DR: log recovery can fail due to incorrectly handling a log write that is wrapped around the end of the log, filesystem unmountable, repair can result in loss of metadata and user data.

The fix is here:

http://oss.sgi.com/archives/xfs/2012-11/msg00019.html

"Commit 4439647 ("xfs: reset buffer pointers before freeing them") in
3.0-rc1 introduced a regression when recovering log buffers that
wrapped around the end of log. The second part of the log buffer at
the start of the physical log was being read into the header buffer
rather than the data buffer, and hence recovery was seeing garbage
in the data buffer when it got to the region of the log buffer that
was incorrectly read."

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

RHEL 6.4 has this log recovery bug in it.

How reproducible:

100%.

Steps to Reproduce:

http://oss.sgi.com/archives/xfs/2012-10/msg00568.html

I'm currently working a new xfstests unit test to exercise recovery of wrapped log writes.
  
Actual results:

Unmountable filesystem, repair tossing away unrecovered metadata causing data loss.

Expected results:

Filesystem recovers the journal and mounts successfully.
Comment 2 RHEL Product and Program Management 2012-11-07 17:41:02 EST
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.
Comment 9 Jarod Wilson 2012-11-19 10:09:01 EST
Patch(es) available on kernel-2.6.32-342.el6
Comment 14 errata-xmlrpc 2013-02-21 01:55:53 EST
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2013-0496.html

Note You need to log in before you can comment on or make changes to this bug.