Re: Continuation Inodes Explained! (was Re: [Ext2-devel] [RFC 0/13] extents and 48bit ext3)

Jeff Garzik
2006-06-10T14:22:20Z

Valerie Henson wrote:
> So what the heck are continuation inodes? Actually, we named this
> "chunkfs" - not particularly descriptive, maybe continuation inodes is
> a better term.
[...]
> The basic idea is to create a bunch of small file systems - chunks -
> which look like one big file system to the administrator. Major

Back when I was still playing with my experimental filesystem, one of
the short-list features I was planning on implementing was the
allocation of both metadata and data from the same underlying data
store, essentially collections of "buckets" for data.

The data store would be a succession of progressively-smaller buckets.
Typical bucket sizes (chosen by admin) on a single filesystem might be:
1G, 128M, 4M, 1M, 64k, 4k. The largest (top-most) bucket is the
fundamental unit of allocation for the filesystem, from which all other
metadata and data is read/allocated.

So in my example above, the 1G bucket is analagous to a single chunk in
chunkfs, and any number of 1G buckets -- from any number of block
devices -- may comprise a single filesystem.

New inode tables, bitmap chunks, directories, large files, etc. are all
allocated from an "appropriate" bucket. IMO this type of solution
provides fsck-friendly isolation, and adds sufficient flexibility for
doing things like delayed alloc, metadata-is-a-file, etc.

Jeff