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