Re: Versioning file system

From: alan
Date: Fri Jun 15 2007 - 18:51:19 EST


On Fri, 15 Jun 2007, H. Peter Anvin wrote:

Jack Stone wrote:
I hope I got the CC list right. Apologies to anyone in didn't include
and anyone I shouldn't have included.

The basic idea is to include an idea from VMS that seems to be quite
useful: version numbers for files.

The idea is that whenever you modify a file the system saves it to na
new copy leaving the old file intact. This could be a great advantage
from many view points:
1) it would be much easier to do package management as the old
version would be automatically saved for a package
management system to deal with.

2) backups would also be easier as all versions of a file
are automatically saved so it could be potentially very
useful for a company or the like.


This is one of those things that seems like a good idea, but frequently
ends up short. Part of the problem is that "whenever you modify a file"
is ill-defined, or rather, if you were to take the literal meaning of it
you'd end up with an unmanageable number of revisions.

And no drive space.

Furthermore, it turns out that often relationships between files are
more important.

And there are files that are not important at all.

Would you save every temp file? To be meaningful you would need to know the process they were tied to in many cases.

Thus, in the end it turns out that this stuff is better handled by
explicit version-control systems (which require explicit operations to
manage revisions) and atomic snapshots (for backup.)

ZFS is the cool new thing in that space. Too bad the license makes it hard to incorporate it into the kernel. (I am one of those people that believe that Linux should support EVERY file system, no matter how old or obscure.)

--
"ANSI C says access to the padding fields of a struct is undefined.
ANSI C also says that struct assignment is a memcpy. Therefore struct
assignment in ANSI C is a violation of ANSI C..."
- Alan Cox
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/