Messages in this thread | | | Date | Fri, 14 Jul 2000 14:36:12 +0100 | From | "Stephen C. Tweedie" <> | Subject | Re: ext3-0.0.2e released |
| |
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/
| |