First Alpha Release of ZFS Using FUSE for Linux with Write Support

Ricardo Correia has announced on his blog about porting Sun Solaris’s ZFS to Linux using FUSE that he has an alpha release with working write support out:

Performance sucks right now, but should improve before 0.4.0 final, when a multi-threaded event loop and kernel caching support are working (both of these should be easy to implement, FUSE provides the kernel caching).

He might be being a little modest about performance, one commenter (Stan) wrote:

Awesome! I compared a zpool with a single file (rather than a partition) compared to ext2 on loopback to a single file. With bonnie++, I was impressed to see the performance of zfs-fuse was only 10-20% slower than ext2.

Stan then went and tried another interesting test:

For fun, check out what happens when you turn compression on and run bonnie++. The bonnie++ test files compress 28x, and the read and write rates quadruple! It’s not a realistic scenario, but interesting to see.

Ricardos list of what should be working in this release is pretty impressive:

  • Creation, modification and destruction of ZFS pools, filesystems, snapshots and clones.
  • Dynamic striping (RAID-0), mirroring (RAID-1), RAID-Z and RAID-Z2.
  • It supports any vdev configuration which is supported by the original Solaris implementation.
  • You can use any block device or file as a vdev (except files stored inside ZFS itself).
  • Compression, checksumming, error detection, self-healing (on redundant pools).
  • Quotas and reservations.

Read his STATUS file to find out what isn’t working too (the main one there I spotted was zfs send and recv).

Caveat: this is an alpha release, so it might eat your data.