2001-12-04 21:38:10

by Roland Bauerschmidt

[permalink] [raw]
Subject: virtual filesystem with data managed in userspace

Hi,

for a science project I'm thinking about writing a virtual filesystem
driver that provides access to data that is managed in userspace. I'm
quite new to Kernel hacking, so I'd be glad if someone could provide
some tips about the design, especially the data exchange between kernel-
and userspace. The scenario looks like this:

/foo is type my_virtual_fs_to_be_written

If somebody reads let's say /foo/bar, the kernel module communicates in
some way with a daemon (or something) in userspace that provides the
nessary information (data) to the kernel module which then uses it
to return the necessary information to the application that tries to
read data.

Do you think this concept is workable at all? What I am most worried
about is the communication between user and kernel space since
eventually quite an amount of information (file contents) would need be
exchanged. High performance is not really critical here, though. How
could this be done best? I thought about a character device (FIFO)
through which kernel module and userspace daemon would exchange
commands and data in a defined way, similar to some network protocol
standard like HTTP.

It'd be very happy about any suggestions or tips,

Roland

--
Roland Bauerschmidt


2001-12-04 21:58:20

by Mike Castle

[permalink] [raw]
Subject: Re: virtual filesystem with data managed in userspace

On Tue, Dec 04, 2001 at 10:40:26PM +0100, Roland Bauerschmidt wrote:
> Do you think this concept is workable at all? What I am most worried

Workable, and done. Several times over.

The old userfs stuff, for instance.

Any number of NFSD and the ilk (the Berkeley automount daemon, amd, for
instance, could do this kind of stuff it wanted to).

I believe CODA plays that game as well (at least to some extent).

mrc
--
Mike Castle [email protected] http://www.netcom.com/~dalgoda/
We are all of us living in the shadow of Manhattan. -- Watchmen
fatal ("You are in a maze of twisty compiler features, all different"); -- gcc

2001-12-04 22:01:23

by Ragnar Kjørstad

[permalink] [raw]
Subject: Re: virtual filesystem with data managed in userspace

On Tue, Dec 04, 2001 at 10:40:26PM +0100, Roland Bauerschmidt wrote:
> Hi,
>
> for a science project I'm thinking about writing a virtual filesystem
> driver that provides access to data that is managed in userspace. I'm
> quite new to Kernel hacking, so I'd be glad if someone could provide
> some tips about the design, especially the data exchange between kernel-
> and userspace.

See http://sourceforge.net/projects/avf/


--
Ragnar Kj?rstad
Big Storage

2001-12-04 23:05:17

by Adam Keys

[permalink] [raw]
Subject: Re: virtual filesystem with data managed in userspace

On December 04, 2001 04:00, Ragnar Kj?rstad wrote:
> On Tue, Dec 04, 2001 at 10:40:26PM +0100, Roland Bauerschmidt wrote:
> > Hi,
> >
> > for a science project I'm thinking about writing a virtual filesystem
> > driver that provides access to data that is managed in userspace. I'm
> > quite new to Kernel hacking, so I'd be glad if someone could provide
> > some tips about the design, especially the data exchange between kernel-
> > and userspace.
>
> See http://sourceforge.net/projects/avf/

Maybe we should add this to the lkml FAQ under a heading "Things you think
are probably crazy but really aren't", or possibly "Fancy microkernel type
stuff" :)

--
akk~

2001-12-05 13:48:38

by Roland Bauerschmidt

[permalink] [raw]
Subject: Re: virtual filesystem with data managed in userspace

Ragnar Kj?rstad wrote:
> See http://sourceforge.net/projects/avf/

Thanks! FUSE looks pretty much like what I want. I'll have a look at it.

Roland

--
Roland Bauerschmidt