Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

A ZFS Kernel Module for Linux

DZone's Guide to

A ZFS Kernel Module for Linux

·
Free Resource
An Indian company called Knowledge Quest Infotech is building a native ZFS port to Linux.  The company says it has an interesting solution to the license incompatibility problems between Linux and ZFS.  KQ Infotech specializes in Linux kernel and cluster file systems.  

The license incompatibility in this case comes from ZFS's CDDL license and the GPL-licensed Linux kernel.  This makes it impossible to integrate ZFS into the kernel sources.  You can't reimplement ZFS in a new source base under GPL because there are patents covering ZFS.  The file-system was ported to the Linux FUSE module but disk performance was limited.  A US National Laboratory has started a native port to the Linux kernel in cooperation with Oracle, but that code isn't ready yet
                     
KQ Infotech will release their ported ZFS code under CDDL, not attempting to go for mainline integration.  Instead, they will release a buildable kernel module without GPL code.  KQ Infotech doesn't think Oracle will attempt any legal action in this instance.  

To use this as a root file-system, users will need to do some extra work in building their own kernel and installing.  The current Zpool (18) used in this project doesn't support de-duplication, and it only supports x86 64-bit architectures.  Phoronix thinks that this kernel module should be popular in some niche groups, but argues that it's too little too late with the emergence of EXT4 and Btrfs file-systems in Linux.

Knowledge Quest Infotech says they plan to release the closed beta port in mid-September.
Topics:

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}