[MacPorts] #51246: submission: port:zfs and port:zfs-devel

MacPorts noreply at macports.org
Wed Apr 27 02:19:08 PDT 2016

#51246: submission: port:zfs and port:zfs-devel
 Reporter:  rjvbertin@…  |      Owner:  macports-tickets@…
     Type:  submission   |     Status:  new
 Priority:  Normal       |  Milestone:
Component:  ports        |    Version:
 Keywords:               |       Port:
 I've finally gotten around to making a port for the OS X implementation of
 the ZFS filesystem, now that it seems to have reached a sufficient
 maturity (read: it no longer causes system instability after having done a
 few simple tests).

 I don't think I have to introduce ZFS here, but for those who really don't
 know what it is: It's the filesystem that Apple once considered as an
 officially supported FS, if not the default for OS X. It provides very
 high data reliability (*), is extremely flexible & scalable and has a
 potential for very good performance (though not necessarily trivial and
 probably not yet in the OS X implementation). It also offers optional on-
 the-fly compression including using the lz4 scheme which is fast enough to
 improve I/O to slow media (time spent de/compressing is less than the
 increase in data transfer times).

 *) even when using a single partition because it can write each file in
 multiple copies - a feature that prevented me from losing no more than a
 single trivial file from my Linux rig when a disk started dropping sectors
 on me at a rate I never saw before a few days ago.

 I already tested an earlier release from an officialy installer on
 Bradley's (pixilla) VM about a year ago, using it to put a whole MacPorts
 install in a dataset mounted on /opt/local, with compression, case
 sensitivity and redundancy for important parts like the registry.

 The current implementation installs everything properly into ${prefix},
 kernel extensions included. That works fine on OS X 10.9 (with a single
 warning when loading eacho of the kexts the 1st time).

 I'd be very interested in feedback from users on more recent versions of
 OS X, notably 10.11 . I suspect it might be necessary to put the kernel
 stuff into /Library when SIP is not disabled (?)

 - ZFS does tend to like having sufficient memory. On systems with <8Gb it
 might be wise to read up on reducing the max. amount used by ARC (not
 related to ObjC's ARC ;))
 - This is a project that's seeing active development and continuous
 improvement. There's a `port:zfs` but I would strongly suggest to test
 - In fact, I'd (almost) suggest to use an official installer from the
 project's website instead of using `port:zfs`, because that should give
 better system integration "out of the box". On the other hand, the
 MacPorts version should be less intrusive/invasive and easier to

 This port installs kernel extensions which get loaded automatically when
 using ZFS. As a result it should PROBABLY NOT be deactivated, uninstalled
 or reinstalled without taking the following precautions:
 1) unmount (export) all ZFS datasets and pools
 2) kextunload zfs.kext
 3) kextunload spl.kext

 Question: is there a phase where one could check if either of the kexts is
 loaded, and raise an error if that is the case (pre-deactivate would be

Ticket URL: <https://trac.macports.org/ticket/51246>
MacPorts <https://www.macports.org/>
Ports system for OS X

More information about the macports-tickets mailing list