From OpenZFS on OS X
Revision as of 02:40, 1 December 2022 by Lundman (Talk | contribs)

Jump to: navigation, search

OpenZFS_on_OS_X_2.1.6 2022-12-01

  • NFS fixes
  • New tunables system, parity with upstream
  • Persistent L2ARC fixes
  • Update lz4
  • Update zstd
  • Cross platform xattr namespace
  • log xattrs to ZIL
  • Add blake3 checksum
  • sorted scrub optimizations
  • B-tree optimizations
  • per dataset zil stats
  • better M1/ARM64 support

OpenZFS_on_OS_X_2.1.0 2021-08-21

  • Add missing cmd zsysctl
  • Add missing cmd mount_zfs
  • Attempt to reduce scrub stack usage (panic with dsl_scan_visitbp)
  • taskq_cancel_id() fixes (panic vdev_deadman, spa_update)
  • purgevfs can deadlock
  • xattr re-implementation from Linux. Affects going from "on" to "sa" and back.
  • Handle zpool-in-zvol, would deadlock.
  • kextunload block/leak fix
  • Long filenames would panic
  • Many fixes with automount snapshots.
  • dirlink count to match upstream. (count dir, and dir+files)
  • Fix libcurl.4.dylib use for encryption file location
  • Fix linkid with lookup for Finder
  • send/recv fixes
  • autoimport fix
  • zfs_resume_fs fix (zfs recv -F)
  • zvol_replay panic fix
  • zvol rename could sometimes be left "busy"
  • split stacks - detect low stack space, and work around it
  • Sub-PAGESIZE abd work, performance
  • zvol IO can overflow the stack (M1)
  • encrypted zvol clones did not get /dev/diskX
  • zfs_replay could panic with NULL kcred
  • update undo of decmpfs

OpenZFS_on_OS_X_2.0.1 2021-05-27

  • new port
  • zfs send / zfs recv rewritten to use pipes.
  • mimic changes (use "" instead of "on/off".)
  • automatic mounting of snapshots
  • zstd compression
  • user/group object quotas
  • device_rebuild
  • draid vdev-type

OpenZFS_on_OS_X_1.9.4 2020-02-29

  • Reserved inode numbers avoided (Catalina, spotlight might need to reindex)
  • Dedup fixes
  • vnode_renamex feature (Catalina)
  • .zfs/snapshot work for Finder

OpenZFS_on_OS_X_1.9.3 2019-10-30

  • Catalina fixes (decmpfs corrections)
  • Disable use of volume icons
  • ZFS Boot fixes

OpenZFS_on_OS_X_1.9.2 2019-08-01

  • skip AVX512 vectorised functions (panic on modern CPUs)
  • include Mavericks.pkg
  • zfs rename could cause core dumps/abort


  • zfs commands "lost error messages"
  • zfs raw recv fix
  • zfs spill block recv fix
  • ZoL vectorized raidz / assembler for fletcher/aes port
  • zfs send deadlock in bqueue

Notarize can sometimes give installation error "kextcache code=71". Reason is unknown, but install completes successfully.

Clicking "Allow" button to load the KEXT starting from version 10.13 can't be done over remote connections (VNC), but must be done on local console.

OpenZFS_on_OS_X_1.9.0 2019-05-28

  • zpool sync command, remove system sync, for performance.
  • Sequential scrub and resilvers
  • Multi-modifier protection (MMP)
  • Disable 'zfs remap' command
  • Pool allocation classes
  • Implement large_dnode pool feature
  • zfs initialize disk feature
  • Add UNMAP/TRIM functionality
  • zpool split fixes.
  • Random unmount failures fix
  • async zget
  • RAW send fixes
  • Memory leak fixes (acl, chmod, xattr)
  • Add -o/-x to send properties
  • Allow -o feature=disabled on zpool create
  • defer resilver
  • send lost spill blocks fix
  • async unlinked drain feature

This release contains new pool features. If you run "zpool upgrade", you will not be able to go back to an older version of O3X.

Notarize can sometimes give installation error "kextcache code=71". Reason is unknown, but install completes successfully.

This will be the last official release for 10.8 and 10.9.

Clicking "Allow" button to load the KEXT starting from version 10.13 can't be done over remote connections (VNC), but must be done on local console.

OpenZFS_on_OS_X_1.8.2 2018-10-30

If you have 1.8.1 installed:

Ok to Skip: OS X 10.12 (Sierra), OS X 10.13 (High Sierra), OS X 10.14 (Mojave).
Please update: OS X 10.8 (Mountain Lion), OS X 10.9 (Mavericks), OS X 10.10 (Yosemite), OS X 10.11 (El Capitan).
  • Fix InvariantDisk core (OpenZFSOnOSX Team)

Due to compilation error, InvariantDisks for OS X 10.8 - 10.11 will continuously crash when started by launchctl. The 1.8.2 version is only to address this problem.

The DMG is named 1.8.2 to make sure fresh downloads are used. Inside it is 1.8.1 recompiled.

OpenZFS_on_OS_X_1.8.1 2018-10-18

  • Fix Mojave boot, again (OpenZFSOnOSX Team)
  • Feature: Channel Programs (OpenZFS Team)

Clicking "Allow" button to load the KEXT starting from version 10.13 can't be done over remote connections (VNC), but must be done on local console.

OpenZFS_on_OS_X_1.8.0 2018-10-05

FORUM only release due to boot issues with Mojave.

  • Fix renaming of "/etc/zfs/zpool.cache.tmp" (OpenZFSOnOSX Team)
  • Fix encryption panic (ZFSonLinux Team)

OpenZFS_on_OS_X_1.7.4 BETA 2018-09-13

  • Mojave boot panic fix (OpenZFSOnOSX Team)
  • Memory and mutex leaks (OpenZFS Team)
  • dbuf slowdown fix (OpenZFSOnOSX Team)
  • Fix encryption + cache bug (OpenZFSOnOSX Team)
  • Raw receive fixes (ZFSonLinux Team)
  • Device Removal feature (OpenZFS Team)
  • Assembler sha/aes use (OpenZFSOnOSX Team)
  • Storage Initialise feature (OpenZFS Team)
  • Spaceman V2 feature (OpenZFS Team)

Clicking "Allow" button to load the KEXT starting at 10.13 can't be done over remote connections (VNC), but must be done on local console.

OpenZFS_on_OS_X_1.7.3 BETA 2018-04-03

  • Test: Creation of pseudo /dev/diskX for mounts (OpenZFSOnOSX Team)
  • Add new property to control pseudo disks, default is pool-only
  • High Sierra only release
  • Various raw-send fixes (ZFSOnLinux Team)
  • spa_deadman support for hung IO (OpenZFSOnOSX Team)
  • zfs crypto + cachedevice is known to cause panics. Please avoid using a cache device if you use zfs crypto for now.

Clicking "Allow" button to load the KEXT on 10.13 can't be done over remote connections (VNC), but must be done on local console.

OpenZFS_on_OS_X_1.7.2 2018-03-24

  • 7614 zfs device evacuation/removal (OpenZFS Team)
  • 9164 assert: newds == os->os_dsl_dataset (OpenZFS Team)
  • Revert "Implement VNOP_ALLOCATE" (OpenZFSOnOSX Team)
  • Must check return of vnode_getwithvid() (OpenZFSOnOSX Team)
  • Clean up vdev_file to hold on to the files (OpenZFSOnOSX Team)
  • Do not rely on ubc_upl_map leaving vaddr as NULL on failures (OpenZFSOnOSX Team)
  • Additional bug fixes (OpenZFS Team)
  • zfs crypto + cachedevice is known to cause panics. Please avoid using a cache device if you use zfs crypto for now.

Clicking "Allow" button to load the KEXT on 10.13 can't be done over remote connections (VNC), but must be done on local console.

OpenZFS_on_OS_X_1.7.1 2018-03-13

  • crypto on disk fixes for --raw send (ZFSOnLinux Team)
  • sharenfs bug fix (OpenZFSOnOSX Team)
  • zdb core dump fix (OpenZFSOnOSX Team)
  • NFS permission denied fix (OpenZFSOnOSX Team)
  • Handle HFS decmpfs compression (OpenZFSOnOSX Team)
  • Correct readonly media import (OpenZFSOnOSX Team)
  • Fix online -e with by-id path (OpenZFSOnOSX Team)
  • Additional bug fixes (OpenZFS Team)
  • zfs crypto + cachedevice is known to cause panics. Please avoid using a cache device if you use zfs crypto for now.

Clicking "Allow" button to load the KEXT on 10.13 can't be done over remote connections (VNC), but must be done on local console.

OpenZFS_on_OS_X_1.7.0 2017-10-24

  • ABD support (OpenZFS)
  • File pool import bug fix (Jorgen Lundman)
  • ABD move enhancement (Sean Doran)
  • 7968 multi-threaded spa_sync (OpenZFS)
  • Native Encryption (Tom Caputi)
  • zpool scrub pause/resume (OpenZFS)
  • zfs recv of compressed streams fix (OpenZFS)
  • OS X High Sierra support (Jorgen Lundman)

and lots of small commits and bug fixes.

OpenZFS_on_OS_X_1.6.1.dmg 2017-02-10

  • Correct zpool events -f and similar polling tasks (Jorgen Lundman)
  • Support 128G ram (and larger) systems (Jorgen Lundman)
  • zfs send corrections (OpenZFS)
  • dataset name length corrections (OpenZFS)
  • zpool iostat enhancements (ZFSOnLinux)
  • Compressed ARC (OpenZFS)
  • SPL: Memory Allocator improvements (Sean Doran)
  • 7252 compressed zfs send / receive 7628 create long versions of ZFS send / receive options (OpenZFS)
  • ZVOL boot support (ZFS boot is not recommended at this time)
  • ZFS automatic sharing (NFS/SMB/AFP) feature (Jorgen Lundman)
  • Enhance EFI partition library (Brendon Humphrey)
  • Stop swapfiles being used for pools (!) (Brendon Humphrey)
  • Sierra / xcode v8 compatibility work

and lots of small bug fixes.

OpenZFS_on_OS_X_1.5.2.dmg 2016-04-29

  • New upstream checksums (with new feature flags): SHA-512, Edonr, Skein (OpenZFS)
  • Resumable send and receive (OpenZFS)
  • Finder notification thread to refresh sizes across datasets (Jorgen Lundman)
  • SPL: enhanced kmem pressure system (rottegift)
  • SPL: Rewrite TSD using AVL tree (Jorgen Lundman)
  • Cache names in getattr (Jorgen Lundman)
  • InvariantDisks serial fixes (cbreak)
  • Show Hardlink LinkID fixes (Jorgen Lundman)
  • Trivial ACLs not hidden (Jorgen Lundman)
  • Group ACL fixes (Jorgen Lundman)
  • IOkit deadlock on export fixes (Jorgen Lundman)
  • MAF and deadlocks in ZVOL fixes (Jorgen Lundman)
  • Show diskutil info on ZVOLs fix (Brendon Humphrey, ilovezfs)
  • ZED notification fixes (Andreas Weinlein)
  • Have automatic import always use by-id (Justin Scholz)
  • Fix handling of XATTR_CREATE and XATTR_REPLACE (ilovezfs)
  • Don't ignore VFS when it passes nosuid and nodev (ilovezfs)
  • Don't use a shared lock for online expansion (ilovezfs)

OpenZFS_on_OS_X_1.4.5.dmg 2015-10-19

  • Remove deadlock with zil_lwb_commit (Jorgen Lundman)
  • Remove memory leak in znodes leading to beachball (Jorgen Lundman)
  • Do not call ctldir unmount (Jorgen Lundman)
  • xcode 7 compile fixes (ilovezfs)
  • Adhere to SIP in installer on EC (ilovezfs)

OpenZFS_on_OS_X_1.4.2.dmg 2015-09-24

  • correct kernel thread priorities (Jorgen Lundman)
  • VFS nolocks rework from 10a286 (Jorgen Lundman)
  • vnop_pageout_v2 replacement (Jorgen Lundman)
  • Permanent Storage work, incomplete (Jorgen Lundman)
  • mmapped file data written twice fix (Jorgen Lundman)
  • InvariantDisks fixes (ilovezfs) (cbreak)
  • SA corruption fixes (ZFSOnLinux)
  • SA recover status alerts when detected (Jorgen Lundman)
  • Modify-After-Free bugs and deadlock fixes (Jorgen Lundman)
  • Complete Re-port of IllumOS taskq (Jorgen Lundman)
  • Revert back to using taskq_dispatch_ent() (Jorgen Lundman)
  • Show async unlinkeddrain (Jorgen Lundman)
  • Remove internal unused flag XATTR (Brendon Humphrey)
  • Additional ioctls from HFS (Brendon Humphrey)
  • Merge with upstream ZOL

OpenZFS_on_OS_X_1.3.2-RC1 2015-05-02

(Forum build)

  • Keep serial console debug messages (Jorgen Lundman)
  • uiocopy failed to set direction (Jorgen Lundman)
  • SMAP work for Broadwell chipset (Jorgen Lundman)
  • Device removal panic fixes (Jorgen Lundman)
  • LASTUNMOUNT property was incorrect (Jorgen Lundman)
  • getxattr FinderInfo fixes (Jorgen Lundman)

OpenZFS_on_OS_X_1.3.1-r2.dmg 2015-04-08

  • vnop_pagein to zero non-aligned trailing block causing clang to core (Jorgen Lundman)
  • ADDEDTIME should updated when moved to a different directory (Jorgen Lundman)
  • Remove vnode throttle (Jorgen Lundman)
  • zfs create -p fix for non-root (ilovezfs)

OpenZFS_on_OS_X_1.3.1.dmg 2015-04-01

  • readonly mounts failed to unmount (Jorgen Lundman)
  • readonly import failed to create ZVOL devnodes (Jorgen Lundman)
  • vnode_getwithvid panic race (Jorgen Lundman)
  • sa_modify_attrs SA corruption (Tim Chase)
  • zconfigd added for persistent config (Brendon Humphrey, ilovezfs)
  • Fix missing FIFO named-pipes VNOPs (Jorgen Lundman)
  • Fake HFS related IOCTLs for _kMDQueryScope filter in Spotlight (Jorgen Lundman)
  • Add new 10.10 ATTR to vnop_getattr (Jorgen Lundman)
  • FNDRINFO and ADDEDTIME support (Jorgen Lundman)
  • InvariantDisks fixes (ilovezfs)
  • Skip optical media on zpool import and add timeout (Jorgen Lundman)
  • Initial secpolicy framework (ilovezfs)
  • zpool status -L to resolve symlinks (ilovezfs)
  • mmap pageout/pagein partial requests fix (Jorgen Lundman)
  • kstat fixes and addition (Jorgen Lundman)
  • Unmount/reboot delay fixed, direct reclaim (Jorgen Lundman)
  • rollback/suspendfs would delay waiting for reclaim (Jorgen Lundman)
  • '' property added to identify as 'hfs' (Brendon Humphrey)


spl 367a1108b174ee81e4ed128741b23e797afb8f16

zfs 63a9a59e7de2353a974da0fe65004f59a8bf5946

  • New daemon called "InvariantDisks" providing persistent paths to use with the zpool command: /var/run/disk/by-id, by-path, by-serial (cf. (Gerhard Röthlin)
  • Speed up ZVOL unmap by skipping unmaps that are fully unaligned and by only using zil_commit for unmap if sync=always (Evan Susarret and Jorgen Lundman)
  • Fix lacking force-positive mount options (Jorgen Lundman)
  • Simplified zed daemonization (ilovezfs)
  • Bump Spotlight auto-enable until Sun, 01 Feb 2015 00:00:00 UTC (ilovezfs)
  • Fix Finder tags modification bug by truncating xattr before overwriting. (Jorgen Lundman)


spl 367a1108b174ee81e4ed128741b23e797afb8f16

zfs 96c4b5c8296e7482abfb6b2f018ef932b68248cf

  • ZFS: Return correct VA_NAME in vnop_getattr for dataset mountpoints (Jorgen Lundman)


spl 367a1108b174ee81e4ed128741b23e797afb8f16

zfs 73ead71a49e2530ecfef8017b3552b37e11c65e4

  • ZFS: ZEVO empty SA panic fix (Jorgen Lundman)
  • Set B_NOCACHE to stop possibly double caching block data (Jorgen Lundman and Evan Susarret)
  • included


spl f4581407d18ea555fe5cd07e9e7912e96575ac5d

zfs 8bf68a82822d492ec9aae0bc8e93d2917ec79937

  • ZFS: Release XATTRs in vnop_remove quicker (Jorgen Lundman)
  • ZFS: Early clearing of z_vnode cause NULL vp panic (Jorgen Lundman)
  • ZFS: Fix deadlock in vnop_reclaim (Jorgen Lundman)


spl 8c89b46ca872572281ed62b506958a66a912f243

zfs 91b0052b9167c5447ee8c29d90126af3b621acf7

  • SPL: kstat support, including tunables. (Brendon Humphrey)
  • SPL: change from mutex allocations to inline (Jorgen Lundman)
  • SPL: port of IllumOS kmem (Brendon Humphrey)
  • memory pressure sensor and memory reap support (Brendon Humphrey)
  • Improve unmount/export code (Jorgen Lundman)
  • Handle vnop_pageout() calls during vnode_create (Jorgen Lundman)
  • Fix reply to getattrlist regarding case sensitivity to fix install of Adobe software (Jorgen Lundman)
  • Fix vfs_vget() for Spotlight and SMB. Enable spotlight on mounts. (Jorgen Lundman)
  • Fix zfs.util for whole disk checks (ilovezfs)
  • Add working (Brendon Humphrey)
  • Work around for legacy mount points and unsupported versions. (ilovezfs)
  • Fix bug for fragmentation when spacemap_histogram is disabled (ilovezfs)
  • Open disks as root to fix scrub hang as user. (Jorgen Lundman) (ilovezfs)
  • Fix zfs diff (Jorgen Lundman)
  • SPL: condvar timeout, fix cache devices sometimes not being used (Jorgen Lundman)
  • reclaim restructuring. Enable delete fast path, and actual release of xattrs (Jorgen Lundman)
  • enable userquota/groupquota accounting (Jorgen Lundman)
  • Temporary fix for missing .Trashes folder (Jorgen Lundman) (ilovezfs)
  • Automatically remove old .metadata_never_index before Dec 15th
  • Make unlinked_drain async, and optional user disable (Jorgen Lundman)
  • Merge with ZOL upstream-20141120 (Jorgen Lundman)
  • Attempt to detech and remove invalid entries on unlinked-drain list (Jorgen Lundman)
  • Move mount default to /Volumes (ilovezfs)

Add pool features: async_destroy empty_bpobj lz4_compress spacemap_histogram enabled_txg hole_birth extensible_dataset embedded_data bookmarks

Illumos 5138 Illumos 4753 Illumos 5116 Illumos 5135 Illumos 5139 Illumos 5147 Illumos 5161 Illumos 5177 Illumos 5174 Illumos 5140 Illumos 5117 Illumos 5049 IllumoS 4873 Illumos 4970-4974 Illumos 5034 Illumos 4631 Illumos 4976-4984 Illumos 4914 Illumos 4881 Illumos 4897 Illumos 4390 Illumos 4757, 4913 Illumos 3835 Illumos 4754, 4755 Illumos #4374 Illumos 4368, 4369 Illumos 4370, 4371 Illumos 4171, 4172 Illumos #4756 Illumos #4730 Illumos #4101, #4102, #4103, #4105, #4106

OpenZFS_on_OS_X_1.3.0.dmg 2014-07-24

spl 80e411aecac0716d779703ecc0f032232bdad91c

zfs b223a573025bb5ef84e6e08b74c9f24b61eacc0b

  • Print the spl version found instead of "v0.01" (ilovezfs)
  • Only replace a pre-existing custom icon if it's the snowflake (ilovezfs)
  • Run osascript as the logged-in user so the notifications actually show up (ilovezfs)
  • Check for ZEVO either still installed or uninstalled but pre-reboot, and display error for the user (ilovezfs)
  • Fix "Load the module manually by running ..." when kexts are in /Library/Extensions on OS X 10.9+ (ilovezfs)
  • Fix mutex leaks, resulting in eventual panic in "mutex_enter()". (Jorgen Lundman)
  • Fix spa_strdup freeing wrong size, causing kmem havok. (Jorgen Lundman)
  • Enhance bmalloc to include free size, bounds and use after free; checks. (Brendon Humphrey)
  • Fix zdb 'hang' waiting for reclaim_thread (Jorgen Lundman)
  • Autoimport work and fixes (ilovezfs)
  • sysctl normalization code from legacy port, default off (Jorgen Lundman)
  • Fix hang at export due to spotlight references (ilovezfs)
  • Reboot hang fix (wait for reclaim thread) (Jorgen Lundman)
  • Reboot hang fix, take 2. (zed ignoring TERM) (Jorgen Lundman)
  • Added spl_wait_interruptible functions (Jorgen Lundman)
  • Merged ZOL-0.6.3
  • ZVOL unmap support (Evan Susarret)
  • Better disk icon support (ilovezfs)
  • onexit fixes, clean zfs send holds (Jorgen Lundman)
  • Replace MALLOC calls to use bmalloc for performance (Brendon Humphrey)
  • OS X Yosemite 10.10 compile fixes (ilovezfs)
  • zp reclaim vs zget remodel fix deadlocks (Jorgen Lundman)
  • Support legacy mountpoints (ilovezfs)
  • Initial non-root support (ilovezfs)
  • Rewrite ioctl after upstream (Jorgen Lundman)
  • Normalized lookup panic fix (Jorgen Lundman)

and, of course, all the fixes in ZFS on Linux 0.6.3. Thanks guys!

OpenZFS_on_OS_X_1.2.7.dmg 2014-05-15

  • Merged with ZFSOnLinux pre-0.6.3 dated Apr 8 2014 (6ac770b1961b9468daf0c69eae6515c608535789)
  • create_thread( 75%*num_cpus ) would create literal 75 threads, instead of the intended 3 threads on quad core machine (Jorgen Lundman)
  • VMEM allocate changed to use bmalloc (slice, SLAB, allocator on top of k_m_a) (Brendon Humphrey)
  • Add ZED (ZFS Event Daemon) to handle events (send alerts, emails) on pool issues. (Chris Dunlap)
  • name cache fixes (existing files claimed as missing, missing files claimed as existing) (Jorgen Lundman)
  • Change pool sync to remove 'idle' pool writes every 30s. (Jorgen Lundman)
  • Work around ZFS recv deadlock (ilovezfs)
  • vnop_pageout fixes for zerod blocks beyond EOF (POSIX) (Jorgen Lundman)
  • Add autoimport, zed startup scripts (ilovezfs)
  • ctldir (.zfs) fixes and cleanup (Jorgen Lundman)
  • Finder hardlinks fixes (Jorgen Lundman)
  • Reclaim fixes, throttle and waiting on vp changes (Jorgen Lundman)
  • ZVOL upstream incompatibility fixes (Evan Susarret) *1
  • ZFS rollback and promote fixes (ilovezfs)
  • Rework EFI label, and wholedisk detection, Core Storage (Jorgen Lundman, ilovezfs)

Which should result in greater stability, large performance enhancements, and finally capable of using more of the available memory.

The Installer no longer contain 32bit versions.

*1 Note that 1.2.0's ZFS Volumes are unintentionally incompatible with other platform version of ZFS, except for volblocksize = 512.

1.2.0.dmg 2014-03-13

  • First release