Re: Ordered block writes

Jeremy Fitzhardinge (jeremy@zip.com.au)
Mon, 02 Feb 1998 10:04:41 +1100


Stephen D. Williams wrote:
> I like versioning systems (such as database versioning of tuples) and
> I think of these ID's as 'generations'. Each commit/'sync' (at the
> file system level) generates a new generation ID, after finishing off
> the old one.

Yes, that would be suitable for my purposes.

There was one other thing I forgot to mention though: if a block has a
change which is *not* being committed in the current transaction, it
shouldn't be written. In other words, there needs to be a "dirty but
unwritable" state.

> I am definitely interested in a transaction file system. We need an
> absolutely safe file system that fsck's instantly and has easy
> mirroring/logging.

That's the main appeal for me. There's no reason the on-disk filesystem
image should *ever* be inconsistant, and there's no reason it should be
slow.

> When I start Emacs for
> instance, there is a knowable sequence of blocks to be read from
> various files that could be organized sequentially automatically.

Interesting. I hadn't really thought about that explicitly, but block
layout policy has been completely abstracted away from the structure of
the filesystem (as in, the filesystem design makes no demands of block
layout), so you could easily do this kind of thing.

J