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

From: Jeff Garzik
Date: Sat Jun 10 2006 - 10:21:20 EST


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


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