On Tue, 7 Dec 1999, David Bialac wrote:
Hi David,
> For fun (and because I think it might be a useful feature), I'm working
> on a filesystem that allows a website to be mounted as a local
> filesystem. I'm starting to dive in, and successfully have the kernel
> recognizing that webfs exists, so it's now time to write some socket
> code. Amongst the thing I want to put into this system is caching of
> server data locally, specifically on the local filesystem. The
> question I have is, can one filesystem ask to write to another? I
> don't see anythinng in there that seems to attempt to do this, so I
> need to be sure said is possible.
there already exist quite a lot such projects right now. I have done one
such experimental 'ftpfs', 'httpfs' filesystem by myself also. These kinds
of filesystems are best examples of user-level filesystems, though.
Some of the reasons:
* good way, how to implement a long-term cache
* no need to re-implement some of the lib functions (gethostbyname,
etc.) in the kernel
* no additional blowing of already so huge kernel code
Such user-level filesystems you can implement via libc-hack, using an
existing protocol (e.g. NFS) or using own protocol for communicating
between the user and kernel part through a socket or a character
device (e.g. userfs, CODA (podfuk)) or perhaps using the stackable
filesystems.
But answer on your question: yes, it is possible to use services of
another filesystems. In my opinion, it's not the best idea, though. (but
e.g. CODA uses ext2).
> Why this is not as stupid as it sounds: Imagine the internet-enabled
> appliance scenario: today, if say a DVD manufacturer has a glitch in
> their DVD player, the only fix is to take it in for repair. If the
> device was internet-enabled, and further read its software off the web,
> it could conceivably update software on the fly without the inconvience
> of the user going without his player. Nother scenario: you could save
> your files to a website run anywhere, then download them anywhere.
Yes, and I would say there are some more examples, let's say for the web
admins...
Jim
.~. Jan Jirmásek
/V\ jimik(at)lucy.troja.mff.cuni.cz, http://www.penguin.cz/~jim
// \\
/( )\ Linux, the choice of a GNU generation.
^^-^^