On 10/6/06, Nicolas Williams <[EMAIL PROTECTED]> wrote:
On Fri, Oct 06, 2006 at 04:06:37PM -0600, Chad Leigh -- Shire.Net LLC wrote:
> On Oct 6, 2006, at 3:53 PM, Nicolas Williams wrote:

> >Maybe Erik would find it confusing.  I know I would find it
> >_annoying_.
>
> Then leave it set to 1 version

Per-directory?  Per-filesystem?

Whatever.  What's the actual issue here?

I don't recall that on TOPS-20 it was possible to not version.  What
you could do is set your logout.cmd file to purge your space down to
one copy when you logged out.

This worked fine for the users I knew; even on a system that didn't
have as much as a gigabyte of disk storage total to support a few
dozen software engineers.

> The above should be simple to do however -- a program does an open of
> a file name "foo.bar".  ZFS / the file system routine would use the
> most recent version by default if no version info is given.

How can version information be given without changing the APIs or
putting the version number/string into the file name?

The version number is part of the file name in all the examples I know
about.  I'd find it useless without that; it has to be a real part of
the filesystem, usable by everybody, not a special addon accessible
only with one or two dedicated applications.

Putting the version number/string into the file name is hard for me to
accept.  It's what would lead to polluting my directories.

Set your ls default to not show versions.  Isn't the problem then
solved?  Maybe add that option to the GUI filesystem explorer as well.

In practice, it never was a problem that I noticed, or that other
people noticed.  And remember that this was on slower systems with
smaller screens and often rather slower screen update.

Do you not like the idea based on theory, or did you actually use
TOPS-20 for a while and find the versioning troublesome?

> one UI is the command line shell

Indeed!  And command-line tools, like ls(1), find(1), etc...

What I'm saying is that I'd like to be able to keep multiple versions of
my files without "echo *" or "ls" showing them to me by default.

And I find that completely unacceptable; useless.  The whole point of
putting versioning in the filesystem is that that makes it accessible
to all programs.

> >What if an application deals in multiple files?
>
> so?

So, file versions aren't useful unless the application explicitly
decides tells the OS when to make them.

File versions are created when a file is created.  In the scenario
where, today, an existing file would be overwritten (deleted), instead
the old file is kept and the new file is given the version number +1
of the old file.

Similarly with applications that keep files open but keep writing
transactions in ways that the OS can't isolate without input from the
app.  E.g., databases.  fsync(2) helps here, but lots and lots of
fsync(2)s would result in no useful versioning.

None of those are candidates for file versioning, and a darned good thing, too.
--
David Dyer-Bennet, <mailto:[EMAIL PROTECTED]>, <http://www.dd-b.net/dd-b/>
RKBA: <http://www.dd-b.net/carry/>
Pics: <http://www.dd-b.net/dd-b/SnapshotAlbum/>
Dragaera/Steven Brust: <http://dragaera.info/>
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to