I am typically not the guy who is writing rants or raves but today I feel that I want to express myself and explain why I am using the zfs filesystem. Forgive me
I would never use zfs for / or /home. This is simply because I believe that a system should be able to boot without any out-of-tree modules.
My use case for zfs is my /data directory as well as my backup drives. I have very specific requirements for that. First of all, performance is not important. The filesystem should not be dead slow but it does not need to be the fastest either.
My main concern is about data integrity. I need a filesystem that can tell me at any point in time if the data is correct and it needs to be able to repair it. This means that I need redundancy and checksums for metadata and data.
That rules out any combination of mdadm+lvm+[xfs, etx4 ,etc.]
Only two filesystem meet these requirements: btrfs and zfs. Now it happens that my backup system is a raidz2 (raid6) system (did I mention already that I am a big fan of redundancy?). Unfortunately raid6 is a no-go for btrfs. The developers clearly state that it should not be used. That leaves me with zfs as the only option. It is that simple. It is a binary decision.
In the meantime, after several years of using zfs I have to say that I am very pleased with it. It is working as expected and with that it excels all other filesystems: on-the-fly data repair during data read, snapshots, compression, encryption, etc. Fantastic!
And when it comes to performance it is very competitive when compared with other redundant setups. I have used mdadm+ext4 for a long time and can tell that it is certainly not faster than zfs. Given the fact that zfs has a lot more feature which are eating performance (e.g. checksums) , this is quite an achievement.
But I also have to say, that zfs is not for beginners. I would never ever recommend it to a newbie.
Anyways, zfs rulez!