Re: Status of ReiserFS + Journalling

From: Andi Kleen (ak@suse.de)
Date: Thu Oct 05 2000 - 01:15:29 EST


On Thu, Oct 05, 2000 at 01:54:59PM +1100, Neil Brown wrote:
> 2/ Arrange your filesystem so that you write new data to an otherwise
> unused stripe a whole stripe at a time, and store some sort of
> chechksum in the stripe so that corruption can be detected. This
> implies a log structured filesystem (though possibly you could come
> close enough with a journalling or similar filesystem, I'm not
> sure).

You don't need a checksum I think, just an atomically updated fs block
-> actually stripe map would be enough. It can be only updated after
you wrote the new independent stripe completely.

Simply using ordered writes for it (only write map after you wrote stripe)
may be tricky though, because you could get cyclic dependencies in a single
HW map block when the file system allocates many new stripes in parallel
[so you would probably need something like soft updates and handling
of multiple versions of the map in core]

Another method when you have a logging fs is to simply log the
map block change into your normal log. At least for ext3 and reiserfs
it would be expensive though, because they can only log complete changed
hardware blocks of the map. JFS or XFS with item logging could do it
relatively cheaply.

-Andi
-
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:15 EST