From: "Theo de Raadt" Subject: Re: FUSE - read whole fusebuf To: Helg Cc: Claudio Jeker , tech@openbsd.org Date: Tue, 02 Sep 2025 10:50:23 -0600 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 >