xfs
[Top] [All Lists]

[PATCH 0/2] xfs: prevent transient corrupt states during log recovery

To: xfs@xxxxxxxxxxx
Subject: [PATCH 0/2] xfs: prevent transient corrupt states during log recovery
From: Dave Chinner <david@xxxxxxxxxxxxx>
Date: Wed, 28 Aug 2013 21:22:45 +1000
Delivered-to: xfs@xxxxxxxxxxx
Hi folks,

The following two patches prvent log recovery from recovering old
changes over a newer object on disk, preventing transient corrupt
states in memory causing verifier failures when recovery tries to
write the objects back to disk.

This only works for v5 filesystems as it relies on the LSN that is
contained in all v5 metadata and stamped with the current LSN when
ever the metadata is written to doisk.

The first patch fixes a problem with LSN fields being unitialised
and logged in that state, and then having recovery restore that
uninitialised state and confuse any further attempts by recovery
to determine the age of the object by LSN.

The second patch does the work of determining the age of an object
being recovered based on the magic number in the object. The reasons
for doing this are described in that patch.

By skipping recovery of objects that are newer on disk than in the
checkpoint being recovered, we ensure that log recovery never
creates a transient corrupt state during recovery in memory, and
hence we never attempt to write them to disk and so recovery won't
abort due to corruption being detected due to this issue.

Cheers,

Dave.

<Prev in Thread] Current Thread [Next in Thread>