A year ago I set up Ubuntu server with 3 ZFS pools on my server, normally I don’t make copies of very large files but today I was making a copy of a ~30GB directory and I saw in rsync that the transfer doesn’t exceed 3mb/s (cp is also very slow).
What is the best file system that “just works”? I’m thinking of migrating everything to ext4
EDIT: I really like the automatic pool recovery feature in ZFS, has saved me from 1 hard drive failure so far
Ext4 does not have CoW.
That’s the only true part of this comment.
As for everything else:
Ext4 uses journaling to ensure consistency.
btrfs’ CoW makes it resistant to that issue by its nature; writes go elsewhere anyways, so you can delay the “commit” until everything is truly written and only then update the metadata (using a similar scheme again).
Please read https://en.wikipedia.org/wiki/Journaling_file_system.
BTRFS is currently not Journaling
Qu Wenruo did a write up on some of the edge cases. Partial write being one of them.
What you just posted concerns the experimental RAID5/6 mode which, unlike all other block group modes, did not have CoW’s inherent safety.
As it stands, there is no stable RAID5/6 support in btrfs. If we’re talking about non-experimental usage of btrfs, it is irrelevant.