[...], while I
don't recall it being done this way back when I
worked on Lisp Machines, I really think filesystems could be
eliminated in favour of other ways of addressing the needs
filesystems satisfy.
Did you look at the single level store as implemented in the
AS/400?
Not per se, but upon looking into it, something like that is one of the
possibilities I've been turning over in my thoughts. I'd prefer
something more radical, though.
Forexample, in
2002 I worked with an experimental encrypted storage
paradigm that really fit the POSIX model very poorly, something I
was very aware of because what I was doing was building a glue layer
to make it mountable as a Unix filesystem.
Hmm, care to elaborate? Because so far
I've seen two basic
approached to encrypted storage: block level (like dm-crypt) and file
level (like encfs, where you can use any sane filesystem, including
NFS, as backing store).
That's less "encrypted storage" and more "encrypted storage in a way
friendly to the Unix storage model".
This thing did not fix the Unix model at all well. To pick the thing
that gave me the most trouble, you couldn't modify a file after
creation; you had to create a new file, which might (or might not) be
almost identical to the former version. Storage was separated fairly
hard from use; it was designed for distributed storage, and the entity
that stores the file need not have the crypto key(s) necessary to
decrypt its contents. There was also no delete operation; they
recognized, correctly, that there is no way to force another node to
delete anything, so they didn't even try - to "delete" something you
throw away the crypto keys necessary to decrypt its contents. (I
forget whether there was an advisory "I don't care any longer about
this content you have" operation.)
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B