ZFS for the Linux kernel
Developers at the Lawrence Livermore National Laboratory have cooperated with Oracle to port large parts of Solaris' ZFS file system to the Linux kernel. Their aim is to make the distributed Lustre file system available under Linux with ZFS.
This narrow target also explains why the Native ZFS for Linux port is incomplete. Lustre is able to directly use the ZFS DMU (Data Management Unit), which connects to the Storage Pool Allocator (SPA, storage hardware interface) rather than go through the ZFS Posix Layer (ZPL) which provides an interface for the operating system. The developers therefore have not ported the ZFS Posix Layer to Linux and this currently makes it impossible to mount ZFS volumes under Linux. However, other developers are apparently already working on the ZPL.
Native ZFS for Linux can be compiled with kernel versions up to 2.6.32; among the tested platforms are the 2.6.32 kernel in Fedora 12 and in the beta version of Red Hat Enterprise Linux 6, as well as the 2.6.18 kernel in RHEL 5. The build requires the Solaris Porting Layer and a 64-bit Linux system.
Currently, ZFS under Linux can only be used as a userspace file system via FUSE (zfs-fuse), which impacts performance. This is due to licensing incompatibilities between the Linux kernel (GPL) and ZFS (CDDL): Distributing code which complies with both the GPL and the CDDL is impossible. This problem also affects Native ZFS for Linux: The code can't be distributed together with the Linux kernel; users have to download and compile it themselves. The subsequent use of it is legal, but further redistribution is not.