ZFS filesystem for Linux?

ZFS is an advanced modern filesystem from Sun Microsystems, originally designed for Solaris/OpenSolaris.

ZFS has many features which can benefit all kinds of users - from the simple end-user to the biggest enterprise systems:

  • Provable integrity - it checksums all data (and metadata), which makes it possible to detect hardware errors (hard disk corruption, flaky IDE cables, etc...)
  • Atomic updates - means that the on-disk state is consistent at all times, there's no need to perform a lengthy filesystem check after forced reboots or power failures
  • Instantaneous snapshots and clones - it makes it possible to have hourly, daily and weekly backups efficiently, as well as experiment with new system configurations without any risks
  • Built-in (optional) compression
  • Highly scalable
  • Pooled storage model - creating filesystems is as easy as creating a new directory. You can efficiently have thousands of filesystems, each with it's own quotas and reservations, and different properties (compression algorithm, checksum algorithm, etc...)
  • Built-in stripes (RAID-0), mirrors (RAID-1) and RAID-Z (it's like software RAID-5, but more efficient due to ZFS's copy-on-write transactional model).
  • Many others (variable sector sizes, adaptive endianness, ...)

ZFS definitely looks like a great engineering achievement and its makers have all rights to be proud of it. In their own words, they've blown away 20 years of obsolete assumptions and now they refer to ZFS as the last word in filesystems.

When ZFS was first announced, I'm sure many Linux hackers had a thought how it would be a great idea to port such a great filesystem to Linux. Unfortunately, ZFS source is distributed under Sun's CDDL license which is (some say deliberatly) incompatible with the GPL license that Linux kernel uses. So, it looks like there will be no native port of ZFS for Linux in the foreseeable future. What a pity.

Still, lurking around the web, I have found the next best thing, a project to port ZFS to the popular FUSE framework: ZFS on FUSE/Linux.

Thanks to relieved FUSE licensing, which allows dynamically linking with it without any restrictions, it looks like it's possible to port ZFS to FUSE without any licensing problems. Of course, implementation of filesystem in userspace can never reach speed and stability of in-kernel filesystems, but I still find it very interesting.

The project was started by a young programmer from Portugal named Ricardo Correia and is participating in Google Summer of Code 2006 program. You can follow its progress on the ZFS on FUSE blog. It seems to go along just fine and you can already download some early releases. So far they're not very useful, but it's nice to see some important parts are already compilable. What to say, go, Ricardo, go! :)


Yep, FreeBSD got it first. And I'm happy for FreeBSD users, ZFS is one damn fine file system. But, I would still like to see it on Linux, too. Then we could compare Solaris vs FreeBSD vs Linux ZFS performance and have lots of nice technical flames on the subject, just like in old times. :)


ZFS in Debian now running natively in kernel!


The ZFS v28 port source code was published by KQ Infotech at github.com

You can build and install packages of native ZFS for Linux by following the tuorial at blog.vx.sk