Re: ext3-0.0.2e released

From: Stephen C. Tweedie (sct@redhat.com)
Date: Fri Jul 14 2000 - 08:36:12 EST


Hi,

On Thu, Jul 06, 2000 at 09:19:58PM +0100, Steve Whitehouse wrote:
>
> can you explain "phase tree" and/or give a reference ?

For a reference, wait until ALS and see the ext2-derived filesystem
report. :-)

For basic background, look up some of the WAFL white papers from
NetApps. The basic idea is an old database one: you have your
filesystem in a tree, and whenever you modify the tree, you write into
new blocks. Then the next level up in the tree --- which contains
pointers to the old blocks --- gets modified to point to the new
blocks, and those changes too get written to new blocks, so you then
need to update the pointers in the _next_ level up the tree.

So you do your changes right up the tree, allocating all your new
blocks in sequential order on disk somewhere (anywhere, unlike a LFS),
and now all you need to do to make the entire new set of writes
visible after a reboot is to move the root node pointer for the
filesystem from the old root block to the new one. It's a beautiful
mechanism for achieving transactional consistency, and it lends itself
naturally to things like snapshots.

Cheers,
 Stephen

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



This archive was generated by hypermail 2b29 : Sat Jul 15 2000 - 21:00:20 EST