Blatant layering violations (was Re: ext4 features)

Valerie Henson
2006-07-06T00:38:26Z

On Mon, Jul 03, 2006 at 10:55:23PM +0200, Tomasz Torcz wrote:
>
> ZFS was already called ,,blatant layering violation''. ;)

I kind of like the phrase "blatant layering violation" - catchy, isn't
it? The main reason people think of ZFS as a blatant layering
violation is because it has the letters "FS" in the name, but it does
a lot more than a file system. ZFS actually includes three distinct
layers with well-defined interfaces, none of which directly maps to
most people's conception of a "file system."

The really painfully short summary of the layers is:

SPA - Storage Pool Allocator, disks go into the bottom, virtually
addressed, explicitly freed/allocated blocks come out of the top

DMU - Data Management Unit, virtually addressed blocks go in the
bottom, plain objects come out the top (an object is like a file with
no dangly bits like permissions, etc.)

ZPL - ZFS POSIX Layer, plain objects go in the bottom, VFS ops come
out the top

For a really nice, much more detailed ZFS source tour, see:

http://www.opensolaris.org/os/community/zfs/source/

-VAL