A Blatant Layering Violation
ZFS has been described on the Linux Kernel Mailing List as a "blatant layering violation." This isn’t quite accurate; ZFS is not a filesystem in the traditional UNIX sense, but rather a set of well-defined layers that provide a superset of a normal filesystem. At this point, any VMS admins in the audience are permitted to feel smug and mumble to themselves, "So UNIX finally got a real filesystem. It might even be ready for the enterprise eventually."
The three layers of ZFS are the interface layer, the transactional object layer, and the pooled storage layer. Going down the stack, these layers map filesystem requests to object transactions, transactions to virtual block device operations, and finally virtual operations to real ones.
Several parts of this stack are optional, as we’ll see later.