Projects
Search     View Tickets     Browse Source     Timeline     Wiki     New Ticket

ZFS FAQ

Have a question or something not working as expected? Try here first. If you don't see what you're looking for, please email us via zfs-discuss

What are the system requirements for ZFS?

ZFS requires either an Intel or PPC machine installed with Leopard in order to run. If you wish to compile and alter ZFS source code you will need to install Xcode from the Developers Kit.

Zpool status says my pool is out of date but I just created it

No you didn't do anything wrong. The short answer is we're forcing version 6 creation for backward compatibility with read-only ZFS. A more detailed explanation is below:

  • Basically this is an artifact of the fact that though the Mac ZFS bits now synced with Solaris SNV Build 72, which is ZFS on disk version 8, we (Mac OSX ZFS) still create version 6 pools for compatibility with the ZFS readonly version which was released with Leopard(which was SNV build 61 and thus is version 6). The two on disk format changes that were added don’t actually add any new features to ZFS on OSX yet (delegated administration and separate intent logs aren’t enabled) so we don't lose any new features because of the version change. Since the read only version of ZFS released with Leopard was only at ZFS on disk version 6, we didn’t want to introduce a ZFS write-able version that would be incompatible. Hence, new pools are getting created as version 6, and zfs version 1, so that you can use your pools on systems with the original Leopard zfs readonly bits, and also on systems you have the new writeable ZFS bits installed. This is why zpool status is telling you your pool is out of date.

We will update the pool creation to use version 8 (and zfs version 2) as soon as we can release updated zfs readonly bits in a Leopard Software Update.

I want to use an existing partition for my ZFS pool

If you have existing partitions you want to use, so long as the partition map on that drive is GPT and you've unmounted them and understand that pre-existing data on those partitions will be lost, you can use the "diskutil" command to change the label type in place. To learn how, see the bottom of the Getting Started page.

Unplugging my USB drive with my ZFS pool on it causes a panic

If your pool is unreplicated(i.e. no raidz, or mirrors), you cannot hot unplug your devices that are members of your pool. Before you yank your USB drive out of your machine, do a ‘zpool export ‘ first. The panic occurs because ZFS promises to be consistent on disk at all times, if the drive disappears and ZFS is trying to do a write to it (writes are asynchronous, so it already returned success to the application layer) then ZFS is no longer consistent on disk hence it panics. We are working on a solution to this.

Why won't my trash empty?

This is a known bug we are currently working on. As a workaround for now you can use the Secure Delete option in Finder to empty the trash, or just empty the .Trash directory by using the rm command in a terminal window to remove files from the trash.

Where is .zfs? I can't find my snapshots

Your snapshots are there and working correctly there's just no .zfs directory yet since I'm still porting that functionality. You can use 'zfs clone' to work around this for now if you'd like to browse your snapshots. You can see an example and get more info off of the Known Issues and Features page

My pool doesn't import on boot, why?

  1. Did you make sure to use diskutil to partition your drive for ZFS before creating a pool? You need to do this before pool creation, else your pool won't function correctly.
  2. Make sure to also use the full disk name when creating your pool, i.e use "disk1s2", not "disk1"
  3. Finally, if you've done both of the above but your pool is MIA anyway, type zpool import. Your pool should be listed and you can simply import it by hand

I want to put my home directory on ZFS, how do I do that?

If you'd like to set up ZFS as to use for your home directory, you can do so by going into System Preferences. Click on Accounts, authenticate by clicking the lock on the bottom. Then right click on your user and select 'Advanced Options'. In that window you can set where your home directory is located. By default it is usually set to /Volumes/MyMac/Users/myuser. You can change this path directly or use the Finder window to browse to the location of your ZFS filesystem you'd like to use as your new home directory. For example, if your ZFS filesystem is /Volumes/mypool/home you can set /Volumes/mypool/home as your new home directory. Then log out and log back in as your user for it to take effect

I tried to create a zfs filesystem/pool but it won't mount my new zfs filesystem

Check your permissions. ZFS requires admin privileges to do creation of pools and filesystems so you'll need to sudo to do these operations. You can change the permissions on any of the filesystems after you create them by using chmod.

I somehow have a ghost pool on my system from a drive that used to be a ZFS drive but isn't anymore

To destroy a ZFS pool you need to use "zpool destroy", simply unmounting a pool will not destroy it, the pool will be unmounted, but will remain in the namespace, hence you'll have a ghost pool.

Why do my zfs filesystems show up as aliases in the Finder?

This is a known bug we are working on resolving. You can still browse through your filesystems in Finder just as you would normally however.

Can I use ZFS with TM?

Not currently, ZFS volumes are not currently browsable through Time Machine

Why can't I rename my zfs filesystem in Finder?

You cannot currently rename a zfs filesystem using Finder, this is a known bug we're working on. Use 'zfs rename' to rename your filesystems, and use 'zpool import' to rename your pool

Finder and zfs list show different space available for my pools, which one is correct?

There are known space discrepencies with Finder and nested ZFS filesystems. Use 'zfs list' for the most accurate space information

Why do I always have to use -f to export or unmount my zfs pools? I'm not using them.

True you aren't, but fseventsd is. We're working on a way to get unmount to trigger fseventsd to release it's hold on the filesystem but as for now, you'll need to force unmount/export your filesystems in order to get fseventsd to let go of it's hold.

Can I boot off of ZFS?

Not yet but we are working on it. Since booting off of ZFS requires changes to other parts of the system we won't likely be able to release it in a simple tarball. However our goal is to be able to have it available for the next OS X release if we can.