- It is possible to create and destroy ZFS pools, filesystems and snapshots.
- It is possible to use disks (any block device, actually) and files as virtual devices (vdevs).
- It is possible to use any vdev configuration supported by the original ZFS implementation. This includes striping (RAID-0), mirroring (RAID-1), RAID-Z and RAID-Z2.
- It is possible to change properties of filesystems.
- It is possible to mount ZFS filesystems, but you can only read files or directories, you can not create/modify/remove files or directories yet.
- ZIL replay is not implemented yet.
- It is not possible to mount snapshots.
- It is not possible to use 'zfs send/recv'.
- ACLs and extended attributes do not work.
- There is no support for ZVols.
- It's buggy and probably has a few memory leaks :p
A few notes:
- Even though you can't write to filesystems, the pools are opened in read-write mode. There are bugs and they can possibly corrupt your pools, so don't use zfs-fuse on important files!
- There's no point in running benchmarks, since it is still highly unoptimized.
- You cannot write to ZFS filesystems yet, so the best you can do right now is populate a filesystem in Solaris and then mount it in Linux. I recommend you create your zpools on files (since it's easier to switch between Linux and Solaris), but you can also use it directly on block devices.
- I recommend you use EVMS if you use ZFS pools on block devices, since it places all of them in /dev/evms - makes it easier to import pools.
- If you create your zpools in Solaris directly on whole disks, it will create an EFI label, so to properly mount it on Linux you'll need GPT/EFI partition support configured in the kernel (I think most x86 and amd64 kernels don't have it enabled, so you must compile the kernel yourself). Since my USB disk has died, and I'm still waiting for a replacement, I can't properly test this yet. The last time I tried I had some difficulty getting it to work, but I think I was able to do it using EVMS.
- In order to import zpools on block devices, you'll need to do 'zpool import -d /dev'. Be careful since at the moment zpool will try to open and find ZFS pools on every device in /dev! If you're using EVMS, use /dev/evms instead.
And I am still highly confused about vnode lifetimes, so expect some bugs and probably some memory leaks until I sort it out eventually..