Re: Status of ReiserFS + Journalling

From: Helge Hafting (helgehaf@idb.hist.no)
Date: Fri Oct 06 2000 - 06:35:35 EST


Jeremy Fitzhardinge wrote:
>
> On Thu, Oct 05, 2000 at 11:33:30AM +0200, Helge Hafting wrote:
> > A power failure might leave you with a corrupt disk block. That is
> > detectable (read failure) and you may then reconstruct it using the
> > rest of the stripe. This will get you data from either before
> > or after the update was supposed to happen.
>
> How would you be able to tell which disk contains the bad stripe?
> RAID reconstruction relies on knowing which disk to reconstruct because
> it's obviously bad - there's out of band information in the form
> of I/O errors. If you only have an incompletely updated stripe on
> a disk, you don't know which data to reconstruct from parity.
>
Correct. RAID won't help you if one disk is updated flawlessly
but not the others. It is a guard against disk breakdown only.

> I think the only way of doing this properly is to either have
> battery-backed cache, or by having journalling at the RAID level.

Isn't this something a journalling _fs_ is supposed to fix?
You don't really need journalling at the raid level,
the raid should (on a dirty startup) notice the dirtiness, and
check every stripe for correct parity. (In a raid check, or
by using a degraded mode where every stripe is read
completely and checked before access.)

The raid can then inform the fs that the entire stripe is corrupt
when parity is bad, and the fs can fix this by replaying
its journal (or using a fsck).

Helge Hafting
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Oct 07 2000 - 21:00:19 EST