*BSD News Article 66402


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!paladin.american.edu!gatech!news.cse.psu.edu!uwm.edu!vixen.cso.uiuc.edu!newsfeed.internetmci.com!btnet!zetnet.co.uk!dispatch.news.demon.net!demon!mail2news.demon.co.uk!kythera.demon.co.uk
From: Ray Auchterlounie <rda@kythera.demon.co.uk>
Newsgroups: comp.os.linux.development.system,comp.unix.bsd.freebsd.misc
Subject: Re: Ideal filesystem
Date: Thu, 18 Apr 1996 18:34:28 +0100
Lines: 124
Message-ID: <199604181734.SAA04797@kythera.demon.co.uk>
References: <4hptj4$cf4@cville-srv.wam.umd.edu> <4jpjb6$77c@park.uvsc.edu> <jlemonDpEw1v.4Ez@netcom.com> <4kfoqd$dgs@coyote.Artisoft.COM> <DpvCB7.xn@midway.uchicago.edu> <199604161704.SAA02116@kythera.demon.co.uk>
     <31740EB4.20617DC8@lambert.org>
X-NNTP-Posting-Host: kythera.demon.co.uk
X-Newsreader: Brian's News Reader V0.9 [Linux]
X-Mail2News-Path: disperse.demon.co.uk!post.demon.co.uk!kythera.demon.co.uk
Xref: euryale.cc.adfa.oz.au comp.os.linux.development.system:21835 comp.unix.bsd.freebsd.misc:17742

Terry Lambert <terry@lambert.org> wrote:
>Ray Auchterlounie wrote:
[...]
>] If we separate the implementation from the interface using "views"
>] "translators" or whatever, then everyone can be happy. Implement EAs
>] however you want, (for whatever reasons) and provide a set of
>] interfaces to allow people to access them however they want.

>To be blunt: why do you want to manipulate EA's with existing
>tools?

To be even more blunt: Because its f***ing difficult to manipulate
them with tools that _don't_ exist !

>When you add an EA, you are adding something supranormal --
>something that you could not use an existing tool on in the
>first place.

EAs are data streams on disk. Data with all sorts of interesting
effects maybe, but still data. 

We have a legion of existing tools to manipulate data streams in the
form of _files_. Map EAs to files and all these tools are available,
don't do it and all these tools are broken. Many of the programs that
would need fixing aren't yours or mine to fix.

>Exposing attributes in the FS namespace seems silly.  To do so
>requires duplicating access control semantics for each EA to
[...]
Either EAs have separate access control or they dont (inheriting that
of the file) - if they do it needs storing, if they dont it doesn't. 

>I agree with your division between imlementation and access
>issues, but I disagree that these are reconcilable differences.

Is that disagree that they _can_ be reconciled or that they _should_ ?

>To put this another way: I can't edit the default icon for
>an application now with existing tools, so I need not support
>that type of access for the association "default icon" in a
>new implementation.

What about the _data_ "default icon" (be it a filename, xpm data or
whatever). What happens to this _data_ when I backup my system using
tar/cpio/afio/proprietary-backup-program ?
Ok, so you need a new set of backup programs. That's only the
start. By the time joeuser has finished inventing uses for EAs you and
I never dreamed of, you need a new _everything_.

Examples, just from my experience with _existing_ systems:

1. ext2fs on Linux:

Has extended file attributes, secure deletion, append-only, etc.
Tools are provided of course, lsattr and chattr.

Backup ? - bye bye attributes.
Move file to another file system and back ? - bye bye attributes.
NFS mount ? - no access to attributes.
Supported in file-managers/browsers ? - not that I've seen
Result ? - little known or used 

2. Netware (DOS clients): 

Has file permissions, trustee lists, ownership etc., tools to access
and change these are provided of course.  But existing tools can't.

Editors would let you open and edit a file you only had read access
to. Some would die (lose your work) when you then tried to
save. Fixing (even the ones I had source for) proved almost
impossible. I fixed Demacs (this was years ago) - the fix involved
shelling out to DOS and calling "rights" and parsing the output, for
every file opened. Now who's talking horrible kludges ? (and yes
please tell me a better way).

Existing backup tools couldn't save this information. No problem - we
got a (proprietary $$$) netware-aware backup tool. It managed to get
<10% of the data rate to tape that tar could - unusably slow, took a
lot of man hours to get (fudge) a fix.  
  
Maybe our dat drive isn't right - lets try backup over the network to
shared dat on a unix box, no problem, just use tar.  Hey, why did we
buy a dat at all ?  Oh yeah, no attributes in tar backup, bollocks.

3. Now an example of how it perhaps should be done:

Modern macs can access dos floppies, want to take your work from a mac
home to your PC ? - no problem. Hey, what's this funny RESOURCE.FRK
directory and all the strange stuff in there. What use is copying the
mac resource fork if it's going to a PC ???  

Take file home from mac to PC, view/edit the _file_, then go back to
the mac. Hey, neat, it remembers what type the file is...


I can think of more.

[...]
>] Ideal filesystem ?
>] ...one which is capable of being all things to all persons.

>Which is why I wanted to start with a flat (numeric) namespace
>with a variable granularity block store, then implement FS
>objects and events on top of that -- including the concept of
[...]

I _don't_ want to constrain your implementation. If some form of
translation isn't possible don't do it - but don't _not_ do it because
it's a kludge or seems ugly. 

If your IdealFS _doesn't_ work with existing tools it may never get
used, if it doesn't get used people will be reluctant to modify
tools to work with it. If it works with existing tools but only
provides some features or is an ugly kludge, then people are much more
likely to use it, and demand native mode support.

ray

-- 
Ray Auchterlounie                Research Student (still) at:
<rda@kythera.demon.co.uk>            Signal Processing Group
<rda@eng.cam.ac.uk>                  Cambridge University Engineering Dept.
                "Don't ask me about my thesis (TM)"