[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: