Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Are you trying to say that BTRFS is supposed to compete feature-to-feature with ZFS?

Not entirely. Btrfs was designed with benefit of hindsight, so one would expect for the features they did choose to implement, that they would be superior in both design and implementation. Sadly, neither are the case except for a few minor exceptions.

> Btrfs doesn't make a distinction between a Clone and Snapshot, they are one and the same with a flag.

Yep, and this is one design choice which on the face of it is straightfoward and convenient, but has the side effect of being very inefficient. Because ZFS snapshots are owned by the dataset, AFAIK there's little refcounting overhead; you're just moving blocks to deadlists based on simple transaction ID number comparisons. If you modify a block and its transaction ID is greater than the latest snapshot, you can dispose of it, otherwise you add it to the snapshot deadlist (and also add the new updated block). If you delete a snapshot, you do the same thing: for each block, if the block transaction ID is later than the transaction ID of the previous snapshot, you dispose of it, else you move it to the previous snapshot's deadlist. No refcounting changes except to decrement for disposal. You only start paying the overhead when you create a clone. This makes ZFS snapshots very cheap, and clones a bit more expensive. Btrfs is always expensive as far as I understand.

Your particular uses might not take advantage of this, but it's something to bear in mind.

> Tell me more how I can mix disks of differing size in RAID on ZFS

You can have pools with vdevs of different sizes (I have one right here). It doesn't make sense to have different sizes within a vdev.

The need for cobbling together different sized discs appears to mainly be something needed for tinkering and testing. No one is going to care about this for production systems. It's a neat feature which few people care about in practice. I'd rather they had spent the time on making the basic featureset reliable.

> > some operations can be performed like snapshotting, but not deletion > See user_subvol_rm_allowed mount option, available since Kernel 3.0

Nice to see some option for this. It's better than nothing, but it's not really equivalent. ZFS has a fine-grained permissions delegation system which is inherited through dataset relationships, rather than coarse capabilities.

> And BTRFS doesn't require it's own separate cache that is apart from the normal filesystem cache.

Not a particular concern for me; it's well integrated on FreeBSD, and it's not a problem in practice on Linux nowadays IME. Do you have a specific problem with the ARC?



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: