[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: FileSystem Question



On Mon, Jul 02, 2007 at 09:39:32PM -0500, Ron Johnson wrote:
> On 06/29/07 17:54, Douglas Allan Tutty wrote:
> >It sounds like the Log File System (LFS) that NetBSD is working on, or
> >the database-style of a mainframe where every 'file' is really a record
> >in a database where back copies are maintained until the space is
> >needed.
> 
> No.  It is file versioning, which OpenVMS has had since the late 
> 1970s.  

That's what I meant by "database-style of a mainframe".  It may not be
an actual database built on-top of a filesystem, but the ideas behind it
are the same.

>Extremely useful, for every reason that OP mentioned.
> 

I agree.  How does one implement it under *NIX?  I've only _needed_ it a
couple of times and used Postgresql to do it.  Having it available
simply would be useful and I would use it more.  Under postgres, I had a
python CLI or dialog front-end.  Ask for a copy of the file (default to
the most recent version) and you get a file to edit.  Post that file
back to the system and it gets assigned a new version number that
integrates it into the version tree.  I.e. if the current version was 3
and I requested version 2 to edit, when posted it became version 2.1.
The files existed in a directory in the user's home directory and it was
up to the user to not go and edit a file directly.

> http://en.wikipedia.org/wiki/Files-11
> 
>     NODE"user pass"::device:[dir.subdir]filename.type;ver
> 
>     Every file has a version number, which defaults to 1 if no
>     other versions of the same filename are present (otherwise
>     one higher than the greatest version). Every time a file is
>     saved, rather than overwriting the existing version, a new
>     file with the same name but an incremented version number is
>     created. Old versions are can be deleted explicitly, with the
>     DELETE or the PURGE command, or optionally, older versions of
>     a file can be deleted automatically when the file's version
>     limit is reached (set by SET FILE/VERSION_LIMIT). Old versions
>     are thus not overwritten, but are kept on disk and may be
>     retrieved at any time. The architectural limit on version
>     numbers is 32767. The versioning behavior is easily overridden
>     if it is unwanted. In particular, files which are directly
>     updated, such as databases, do not create new versions unless
>     explicitly programmed.
> 

Ron, from what I've read over the years, there are a lot of features
from the mainframe world that would be very useful in the NIX world.
Someone here with experience in both said that the mainframes were only
useful now for large batch jobs; that as servers it was cheaper to use
NIX boxes.  That may or may not be so but there's a lot we can learn
from the mainframe world.  However, for those of us who haven't had the
priveledge of experiencing that world, it remains viewed 'as through a
mirror dimly'.  

Doug.



Reply to: