tech-userlevel archive

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

Re: Support for kernel and lowlevel FUSE API



Antti Kantee <pooka%cs.hut.fi@localhost> wrote:

> > - The filesystem needs a minor modification: it needs to call 
> > perfuse_mount() instead of mount(). perfuse_mount() sends a message
> > through /dev/fuse to perfused, and perfused does the actual mount. 
> > I implemented perfuse_mount() in a single-function library (libperfuse).
> 
> Just to clarify: "the filesystem" means one using /dev/fuse directly, yes?

Yes. FUSE filesystems can either open /dev/fuse directly (and talk
kernel FUSE API), or have libfuse doing it for them (they talk the low
level or high level FUSE library API).

With perfused + libfuse, we support everything.
 
> As stated in private email, I think most of the time it makes sense
> to run perfused "inline" in the file server instead of requiring a
> separate daemon.  This brings down the number of moving parts and I
> assume simplifies e.g. permissions.

This is what I tried at the beginning but I quickly moved to the
separate daemon approch: all filesystems link with libpthread, and
mixing libpthread and libputfs is a reliable way to build a nice pile of
cores.

-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu%netbsd.org@localhost


Home | Main Index | Thread Index | Old Index