Index | Thread | Search

From:
Helg <helg-openbsd@gmx.de>
Subject:
Re: FUSE - read whole fusebuf
To:
Claudio Jeker <cjeker@diehard.n-r-g.com>
Cc:
tech@openbsd.org
Date:
Tue, 2 Sep 2025 17:41:10 +0200

Download raw body.

Thread
On Tue, Sep 02, 2025 at 05:59:36PM +0200, Claudio Jeker wrote:
> On Sun, Aug 31, 2025 at 04:25:20PM +0200, Helg wrote:
> > Hi tech@
> > 
> > I'd like to make the OpenBSD fuse implementation more compatible with other
> > patforms so that we can support more fuse file systems in ports. This is
> > going to take some fundamental changes in the kernel interface.
> > 
> > Here's why:
> > 
> > FUSE supports 3 different interfaces.
> > 
> > 1. Reading and writing directly to the /dev/fuse0 device
> > 2. A low-level API via libfuse
> > 3. A high-level API via libfuse
> > 
> > OpenBSD is currently only compatible with 3. To get from where we are
> > today to supporting all 3 interfaces, we need to do the following.
> > 
> > a. Update the kernel fuse device and libfuse to read and write entire
> >    fusebufs. Currently, ioctls are needed to to read and write the data
> >    for a fusebuf.
> > b. Update the kernel fuse device and libfuse to block on read until a
> >    new fusebuf is available. Currently, the kernel sends an event when a
> >    new fusebuf is available.
> > c. Change the fusebuf binary format to match other platforms.
> > d. Implement the low-level fuse API in libfuse.
> > 
> > This diff is the first part of a.
> > 
> > What do you think? Is this OK?
> > 
> > helg
> > 
> 
> Let me start with the fusebuf.h change:

Unfortunately I had committed the changes just before I received your
feedback. I'll create another patch that addresses each of your points.

I really appreciate the time you took to review it.

Kind regards,
Helg