*BSD News Article 64863


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.mira.net.au!vic.news.telstra.net!act.news.telstra.net!imci3!imci2!news.internetMCI.com!newsfeed.internetmci.com!inet-nntp-gw-1.us.oracle.com!news.caldera.com!news.cc.utah.edu!park.uvsc.edu!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.os.linux.development.system,comp.unix.bsd.freebsd.misc
Subject: Re: Ideal filesystem
Date: 28 Mar 1996 23:04:29 GMT
Organization: Utah Valley State College, Orem, Utah
Lines: 48
Message-ID: <4jf5tt$f12@park.uvsc.edu>
References: <4gejrb$ogj@floyd.sw.oz.au> <3140C968.20699696@netcom.com> <4ia7im$i4m@usenet.srv.cis.pitt.edu> <4if9gb$4kh@park.uvsc.edu> <4iibd2$ng@EARTH.baylor.edu> <4ir7tc$5uf@park.uvsc.edu> <31530CC6.266C03EF@ids2.idsonline.com> <4j0ccn$ftv@park.uvsc.edu> <4jc2ng$t4u@pravda.aa.msen.com>
NNTP-Posting-Host: hecate.artisoft.com
Xref: euryale.cc.adfa.oz.au comp.os.linux.development.system:20505 comp.unix.bsd.freebsd.misc:16487

noel@mail.msen.com (Noel Maddy) wrote:
] : Why can't you ask the question "will all the objects owned by
] : Joe please identify themselves?"... after all, indexing is
] : implementation defined, and we're talking about a new implementation.
] 
] I must be missing somthing here...what difference does it make
] whether the checks of all the objects for per-user information is
] done by an external process or by the objects themselves?  If the
] scheduler is up to handling thousands of objects all saying
] "Hmm, do I have anything belonging to joe", then it might be a bit
] faster due to the parallelism, but isn't the same work being done?
] 
] Or are you implying some sort of object ownership tree (separate from
] the directory tree) in the filesystem when you say "indexing is
] implementation defined"?

Think "crash recovery with partially complete transactions".

For instance, I move a "file" that is a "directory acting like
a file" (a bad idea anyway, IMO) to a new location.  It's across
volume boundries, so it creates the new directory name, then it
copys the a.out "fork" to that directory, then it cops the icon
"fork", then it starts to copy the foo "fork", and the system
goes down.

In the "file as directory" implementation, you imply the need
for transaction tracking across the series of operations.

The same thing could happen if you were building a new binary
for a file, and the system crashed, throwing the a.out "fork"
into lost+found.


The object ownership tree needs to be instantiated at the inode
implementation layer -- or more specifically, at the directory
entry layer for the file that owns multiple forks.

One could also throw in versioning, and partial inheritance
(for instance, I install a new version of the program "foo",
but I leave the ACL's alone, even though I overwrite the
binary, and potentially add new default icons).


                                        Terry Lambert
                                        terry@cs.weber.edu
---
Any opinions in this posting are my own and not those of my present
or previous employers.