Venti: a new approach to archival storage (2002)
plan9.bell-labs.com
plan9.bell-labs.com
Edit: what would be the state-of-the-art Git store format ?
[0]: http://en.wikipedia.org/wiki/Merkle_tree [1]: https://github.com/bup/bup
Not sure how mature it is, but might interest some:
https://www.kitten-technologies.co.uk/project/ugarit/doc/tru...
I do use venti outside of Plan 9 too. The CAS model is very simple, and the data is very simple to manage. Unfortunately, it screaks a lot compared to Plan 9, but it works, and I have daily versioning for all my files.
/edit: quoting on this site sucks, I gave up.
The latest-dated reference is from 2001.
I would love to use ZFS everywhere, but sadly I use it almost nowhere. I think that was also parent's point.
Other than that, even considering snapshotted filesystems, I still think venti model is worth discussing because the model is just so different. No deletion, and it doesn't expose a filesystem-like layer. It exposes a much simpler and deeper abstraction.
If you could make it possible to use ZFS in one place that you cannot use it today, what would that place be?
But you asked me only about a single place; my OS X laptop. After I use Solaris for a while (where I have automatic snapshots), when I come back to OS X I feel so weird that I have to remember that I can't just delete a file and recover it from a snapshot. Also, I've experienced silent data corruption on my laptops; this would be detected by ZFS (unfortunately it wouldn't be solved, as laptops with more than one hard drive are very rare, but with mSATA and a SSD, now there's at least a way on some laptops).
I also have to run old versions of Go every day; on Solaris I have versions of binaries from every commit and I can just run them to test something. On OS X is more complicated, I use venti, but since it's not integrated with the filesystem (because FUSE sucks), as on Plan 9, it's more annoying.
Edit: And Apple's CoreStorage also has some kind of COW capability at least when used for "fusion" drives. And then Time Machine and OSTree are effectively COW as well. The trick here is how to make what's written, read-only and thus write once. Btrfs at least has the concept of read-only seed devices, which can be put together in sequence, but might need some work to make it fit better with this use case.