*BSD News Article 64832


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!msunews!caen!newsxfer2.itd.umich.edu!newsfeed.internetmci.com!news.msfc.nasa.gov!sol.ctr.columbia.edu!hamblin.math.byu.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 20:12:35 GMT
Organization: Utah Valley State College, Orem, Utah
Lines: 42
Message-ID: <4jerrj$f12@park.uvsc.edu>
References: <4hptj4$cf4@cville-srv.wam.umd.edu> <3140C968.20699696@netcom.com> <4istou$ri9@floyd.sw.oz.au> <4j0bmo$ftv@park.uvsc.edu> <jlemonDoqBq5.1Bx@netcom.com>
NNTP-Posting-Host: hecate.artisoft.com
Xref: euryale.cc.adfa.oz.au comp.os.linux.development.system:20498 comp.unix.bsd.freebsd.misc:16467

jlemon@netcom.com (Jonathan Lemon) wrote:
] Hm.  Shells just look at the inode to see if the file is executable,
] in order to add it to the hash list.  So what if there's some (unspecified)
] bit or combination of bits in the inode that indicates this directory
] is an "executable bundle"?  Then the search stops there.  When 'executed',
] the system runs "(directory_name)/a.out" or even "(directory_name)/a.out.arch".
] 
] Of course, this glosses over a whole lot. (I believe this is termed an
] understatment).  But I don't think shell hashing is a valid objection,
] Terry.  Try another one.

For a "binary" that was a directory, there is a need to search
every directory in every directory in the path for "a.out" or
whatever you call your actual non-fork binary.

This is geometrically more time consuming than simply searching only
directories in the path, to a single iteration level.

Using directories as binaries has the singular benefit that
you can abuse the file system in the same way the terminfo
database abuses thefile system to use the directory structure
as an index.

There seems to be a high cost associated with this *tiny*
"benefit" of questionable value.

Shell hashing is only one example.  Another example is that an
a.out from an "executable" could land in lost+found, losing
its association with the program it belongs to.  This is an
impossible situation with EA's, which have a single focal file
system object that is treated atmoically by the underlying FS
code -- unlike "a.out" files in "binary" directories.

Simplicity isn't a good argument for using directories as files
in order to get resource forks Jonathan.  Try another one.


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