In message <[EMAIL PROTECTED]>, "David Bialac" writes:
> 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.
As others have already said, this isn't a new idea, and there are several
alternatives you should look at first. Also there are issues wrt mapping
the HTTP protocol to a file-system interface that you should be aware of. I
believe this was discussed again in linux-fsdevel and the freebsd-fs mailing
lists just in the past 4-6 weeks.
However, there's nothing wrong with doing such a project for fun. But if
you can find something that wasn't done before, that would be even better.
If you think that stackable file systems could help your project, see my
stackable f/s templates work
http://www.cs.columbia.edu/~ezk/research/software/
> 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.
This idea somewhat matches some of the ideas that were discussed in the
Usenix '94 "unionfs" paper: a way to merge a readonly f/s with a writable
f/s, the latter includes patches and updates to the readonly stuff (which
may come from a cdrom).
> David Bialac
> [EMAIL PROTECTED]
PS. I don't see a problem writing *loadable* kernel code. It doesn't make
the core kernel bigger, only run-time kernel memory consumption increases.
Kernel modules aren't a solution for every application. If speed is not a
concern, user-level file servers are easier to write and debug. Otherwise I
personally think that all file systems should be in the kernel (loadable or
statically compiled) for performance reasons.
Erez.