Brian Hechinger wrote:
On Thu, Oct 05, 2006 at 11:19:19AM -0700, David Dyer-Bennet wrote:
On 10/5/06, Jeremy Teo <[EMAIL PROTECTED]> wrote:
What would a version FS buy us that cron+ zfs snapshots doesn't?
Finer granularity; no chance of missing a change.
TOPS-20 did this, and it was *tremendously* useful . Snapshots, source
control, and other alternatives aren't, in fact, alternatives.
They're useful in and of themselves, very useful indeed, but they
don't address the same needs as versioning.
VMS _still_ does this, and it's one of my favorite features of the OS.
-brian
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss
I too remember VMS and the FS versioning feature.
Doing versioning at the file-system layer allows block-level changes to
be stored, so it doesn't consume enormous amounts of extra space. In
fact, it's more efficient than any versioning software (CVS, SVN,
teamware, etc) for storing versions.
However, there are three BIG drawbacks for using versioning in your FS
(that assumes that it is a tunable parameter and can be turned off for a
FS when not desired):
(1) File listing symantics become a bit of a mess. VMS stores versions
as <filename>;<version> That is, it uses the semi-colon as a
divider. Now, I'm not at all sure how we can make ZFS POSIX-compliant
and still do something like this. Versioning filesystems tend to be a
complete mess - it is hard to present usable information about which
versions are available, and at the same time keep things clean. Even
keeping versions in a hidden dir (say .zfs_versions) in each directory
still leaves that directory filled with a huge mess of files.
(2) File Versioning is no replacement for source code control, as you
miss all the extra features (tagging, branching, comments, etc) that go
with a file version check-in.
(3) Many apps continuously save either temp copies or actual copies of
the file you are working on. This leads to a version explosion, where
you end up with 100s of versions of a commonly used file. This tends to
be worse than useless, as people have an incredibly hard time figuring
out which (older) version they might actually want to look at. And,
this problem ISN'T ever going to go away, as it would require apps to
understand filesystem features for ZFS, which isn't going to happen.
I'd discourage File Versioning at this late stage in UNIX. Source Code
control systems fulfill the need for serious uses, and casual usage is
obviated by the mantra of "save early, save often" that has been beaten
into the userbase. Trying to change that is a recipe for disaster.
Maybe when we change filesystems to a DB, we can look at automatic
versioning again, as a DB can mitigate #1 and #3 issues above, and can
actually implement #2 completely. OracleFS, here I come. (<groan>)
-Erik
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss