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.