Not logged in
Log in now
Create an account
Subscribe to LWN
LWN.net Weekly Edition for May 23, 2013
An "enum" for Python 3
An unexpected perf feature
LWN.net Weekly Edition for May 16, 2013
A look at the PyPy 2.0 release
btrfs also lacks the ability to organize file systems in trees, with the properties of children file systems being inherited from the parent.
There's also no RAIDZ (which means btrfs is vulnerable to the RAID5 write hole).
I wrote about all the other things that btrfs is missing on my blog (Rudd-O.com).
btrfs is at least 4 years away from achieving feature parity with ZFS.
ZFS features not currently in btrfs
Posted Jul 14, 2012 11:32 UTC (Sat) by Tobu (subscriber, #24111)
ZIL/SLOG is part of the bcache featureset. bcache can be a write-through cache, which only improves read performance, or a writeback cache, which makes post-SSD write io sequential. Another advantage of bcache is that it is persistent, unlike the ZFS read cache (L2ARC). That allows bcache to speed up booting.
The raid5 write hole exists when btrfs is layered over md raid. When btrfs' parity raid implementation lands, it will probably use the same technique as raid-z (overwriting entire stripes instead of patching them).
I don't think you held back on listing zfs advantages over btrfs, this was the second newest zfs article on your blog.
btrsf features not currently in ZFS
Posted Jul 17, 2012 17:16 UTC (Tue) by Lennie (subscriber, #49641)
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.
Posted Aug 9, 2012 8:38 UTC (Thu) by etbe (subscriber, #17516)
Yes, I have deduplication turned off.
I agree that integration with Linux is an issue. With BTRFS you have all filesystems listed in /etc/fstab while with ZFS they are all managed by ZFS software without a mention in /etc/fstab.
BTRFS is more like just another filesystem to use, while ZFS is something that totally owns your server.
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds