Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
OpenZFS on OS X

This branch is 747 commits behind openzfsonosx:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
Xcode/zfs.xcodeproj
cmd
config
dracut
etc
include
lib
man
module
patches
rpm
scripts
udev
.gitignore
.gitmodules
AUTHORS
AUTHORS.OSX
COPYRIGHT
DISCLAIMER
META
Makefile.am
OPENSOLARIS.LICENSE
PKGBUILD-zfs
PKGBUILD-zfs-modules
README.markdown
VolumeIcon.icns
autogen.sh
cmd.sh
configure.ac
copy-builtin
dkms.conf
load.sh
zfs-modules.spec
zfs-script-config.sh.in
zfs.release.in
zfs.spec
zpool.sh

README.markdown

OpenZFS on OS X (O3X) brings OpenZFS features to Apple's OS X.

** zfs.kext depends upon spl.kext, so start with that repository: https://github.com/openzfsonosx/spl.git

It is tested primarily on Mac OS X Mavericks.

See http://openzfsonosx.org/ for more information.

Open Issues:

https://github.com/openzfsonosx/zfs/issues?state=open

Please note that 'llvm-gcc' or 'clang' should be used for compiling the KEXTs. Pure 'gcc' will produce unstable builds.

 # ./configure CC=clang CXX=clang++
or
 # ./configure CC=llvm-gcc CXX=llvm-g++
# git clone https://github.com/openzfsonosx/zfs.git
# ./autogen.sh
# ./configure CC=clang CXX=clang++ --with-spl=/path/to/your/spl
# make

# rsync -a --delete module/zfs/zfs.kext/ /tmp/zfs.kext/
# chown -R root:wheel /tmp/zfs.kext

# kextload -r /tmp/ -v /tmp/zfs.kext/

In system log:
: ZFS: Loading module ... 
: ZFS: ARC limit set to (arc_c_max): 1073741824
: kobj_open_file: "/etc/zfs/zpool.cache", err 2 from vnode_open
: ZFS: Loaded module v0.6.2-rc1_2_g691a603, ZFS pool version 5000, ZFS filesystem version 5
: ZFS filesystem version: 5
: ZFS: hostid set to 9e5e1b35 from UUID 'C039E802-1F44-5F62-B3A2-5E252F3EFF2A'

bash-3.2# ls -l /dev/zfs
crw-rw-rw-  1 root  wheel   33,   0 Feb 27 17:20 /dev/zfs

# ./zpool.sh status
no pools available

# ./zpool.sh create BOOM /Users/lundman/openzfsonosx/diskimage.bin
zfs_mount: unused options: "defaults,atime,dev,exec,rw,suid,xattr,nomand,zfsutil"

# df -h
Filesystem      Size   Used  Avail Capacity iused   ifree %iused  Mounted on
/dev/disk0s2    20Gi   11Gi  8.5Gi    57% 2921478 2237422   57%   /
BOOM           472Mi   21Ki  472Mi     1%       6  966468    0%   /BOOM

# ls -l /BOOM/
total 3
drwx------  2 root  wheel  3 Apr  4 16:44 .fseventsd

# mkdir /BOOM/THIS.DIRECTORY.IS.ON.ZFS

drwxr-xr-x  2 root  wheel  2 Apr  4 16:45 THIS.DIRECTORY.IS.ON.ZFS

# ./cmd.sh zfs umount BOOM

# ./zpool.sh export BOOM

# ./zpool.sh import -d /Users/lundman/openzfsonosx/
   pool: BOOM
     id: 17559987915944145476
  state: ONLINE
 action: The pool can be imported using its name or numeric identifier.
 config:

        BOOM                             ONLINE
          /Users/lundman/pool-image.bin  ONLINE

# ./zpool.sh import -d /Users/lundman/openzfsonosx/ BOOM

# ls -l /BOOM/
total 3
drwx------  2 root  wheel  3 Apr  4 16:44 .fseventsd
drwxr-xr-x  2 root  wheel  2 Apr  4 16:45 THIS.DIRECTORY.IS.ON.ZFS

# ./zpool.sh import -d ~/image/ FROMSOLARIS
NAME          SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
FROMSOLARIS   123M   354K   123M     0%  1.00x  ONLINE  -

  • lundman
Something went wrong with that request. Please try again.