On 11/24/2010 10:07 PM, David Nicol wrote:
I've been thinking about this for a while, from a perspective of how
to make it work by allocating i-node numbers from a global pool, but
yesterday I realized that offering the feature would be a bad idea
because it violates the semantics of file systems.

I will be happy to expand on that point if anyone disagrees with it.

One thing I would like to see is copy-on-write hard-links. The hard-links that span snapshots should be possible, but they should be copy-on-write, i.e. as soon as hard-linked file that spans snapshots is written, the snapshot that wrote it should have it's own forked copy henceforth.

This would be immensely useful for things like virtualization and memory saving. Not only would it save memory in the caches, but if multiple instances of the same OS are used in LXC containers cloned using snapshots, then two DLLs with the same inode number would mmap into the same memory segment. That means that no matter how many VMs you run, if they have the same DLLs, the memory requirement for all those would be the same as if there was only one VM running.

Linux Vserver does exactly this (it patches several of the FS drivers to add this feature. This is pretty much the only reason why I use it instead of the already merged LXC.

Gordan
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to