Re: httpfs what is it?
Marcus Brinkmann <Marcus.Brinkmann@ruhr-uni-bochum.de> writes:
> On Sat, Jan 19, 2002 at 11:35:46AM -0800, Justin Langer wrote:
> > What can be its possible application?
>
> You could access the web with all tools, including your shell. Instead
> running wget, you could just try to use cp, for example.
This httpfs discussion made me think some more about one of my
wouldn't-it-be-nice-to-have wishes for the Hurd. Sorry to bore you
with it again, but I can't help myself. ;-) You have been warned...
I want property lists on inodes. Even if it isn't supported at all by
major filesystems like ext2, it would still be very good to have a
standard interface to properties for filesystems where it makes sense.
Some obvious applications:
* content-type property, useful for web stuff and perhaps also by
local applications. The httpfs translator would attach a
content-type property to it's files, from the http-header. Other
http stuff may also make sense to put into properties. And on the
server side, setting the content-type property on a file would be a
nice way to override the web-serve'rs default file extension->MIME
mapping.
* Various acl:s and metadata on foreign filesystems. If I mount a
filesystem that includes meta information and features beyond what
posix or the hurd supports, that information can be made available
as properties. I see no other clean alternative way to provide access
to such information.
* Versioning filesystems, or a cvs aware filesystem.
Adding properties is a simple matter of adding a few more rpc calls to
the file interface.
What would be even cooler is to be able to provide a list of
properties when *opening* a file. The filesystem would then find data
matching the properties. For instance, the httpfs translator could put
such properties into forms variables and/or cookies. A versioning
filesystem could recognize a version number-property. A cvs filesystem
could recognize a branch tag property.
I'm sure one could do interesting things with it.
Regarding versioning filesystems, I'm not sure what the best interface
is like. Putting information like "~1.17~" at the end of the filename
seems a little ugly. Perhaps each versioned file could also be a
directory? "cat foo.c" gives the latest version of foo.c. "ls foo.c"
lists available versions, "cat foo.c/17" gives version 17.
Best regards,
/Niels
Reply to: