I know btrfs can use a readonly device (like a cdrom) as a base filesystem and store only the changes on an other device (like an USB-stick). Can ZFS do that too ?
What about memory usage ? I heared btrfs actually runs well on smartphones.
How does ZFS fare in such an environment ? I've heared stories from the FreeBSD camp that ZFS uses a lot of memory.
Obviously that could have been with deduplication turned on in ZFS which would be understandable if that uses a lot of memory. But still the numbers were pretty scary if I remember correctly (haven't tried it myself).
I tried ZFS on Linux one time and compared it to btrfs. And I believe I do know one thing which is missing for ZFS on Linux, which is: proper integration with Linux itself.
For example I had 2 VMs for testing both filesystems, they both had 3 virtual disks. One with the system and 2 others with a ZFS/zpool or btrfs filesystem. It was a RAID1 like setup (store 2 copies of each block on different virtual disks).
When btrfs had a missing virtual disk I could tell it to mount it in a degraded mode.
While their were problems getting ZFS to mount the filesystem, not even in a degraded mode (it could be because of my limitted knowledge of ZFS of course).
I would reboot the VM and remove a virtual disk as a test case.
When disk1 was missing and disk2 would be called disk1 I couldn't get ZFS to recognise that it could mount that fs/disk.
If only disk2 was missing, then disk1 was still disk1 and it could mount the filesystem on disk1 in a degraded mode just fine.
ZFS on Linux also seemed to be slightly slower and use more CPU, but as it was a VM it wasn't a perfect test environment so I can't be sure about that.