> Btrfs is a lot more flexible about expanding the filesystem, especially in mirror mode.
--Yah, most of the confusion about expanding ZFS filesystems OTF stems from RAIDZ. You *can* expand RAIDZ, but if you want your I/O to stay "sane" you need to duplicate the configuration to another vdev and add it to the pool. E.G. you have a RAIDZ of 5x1TB disks, you kinda need to create another vdev of 5x1TB disks and add that to the pool, or else it won't be balanced right.
--Expanding a *mirrored* ZFS pool however, is dead easy. You can start with a single disk, add a mirror to it, wait for resilver, and then add another set of (same-size/brand) disks to make it zRAID10. Then add another similar-hardware set of mirrored disks whenever you need to expand. ZFS also makes it easy to replace disks in-place AND will "see" the extra space every time you complete a mirror "column" (2 disks in the same set) if you set the pool properties right (autoexpand=on, autoreplace=on). You can also do triple mirroring, which I would definitely recommend if you have 8TB+ disks.
--So who cares if you lose 1/2 your disk space with RAID10, I would argue that with anything 1TB+ you *need* that real-time mirror - and disk prices have come down, you can get a 2TB NAS drive for under $90 these days. RAIDZ rebuild times (at least on Linux) are reported to potentially be extremely long since they haven't worked on the "speed" part of ZFS yet; rebuilding a RAID10 column/mirror is orders of magnitude faster since it doesn't have to replay every transaction or do a bunch of calculations.
--Took me a while to do the research on Linux+ZFS, but if you implement it correctly you can get a *lot* of benefits. ;-)