Index | Thread | Search

From:
"Theo de Raadt" <deraadt@openbsd.org>
Subject:
Re: FUSE - read whole fusebuf
To:
Helg <helg-openbsd@gmx.de>
Cc:
Claudio Jeker <cjeker@diehard.n-r-g.com>, tech@openbsd.org
Date:
Tue, 02 Sep 2025 10:50:23 -0600

Download raw body.

Thread
The cleanest way is to back the changes out, then come with a new
proposal.

> 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
>