On Mon, Sep 11, 2023 at 11:05:09AM +1000, Dave Chinner wrote: > On Sat, Sep 09, 2023 at 06:42:30PM -0400, Kent Overstreet wrote: > > On Sat, Sep 09, 2023 at 08:50:39AM -0400, James Bottomley wrote: > > > So why can't we figure out that easier way? What's wrong with trying to > > > figure out if we can do some sort of helper or library set that assists > > > supporting and porting older filesystems. If we can do that it will not > > > only make the job of an old fs maintainer a lot easier, but it might > > > just provide the stepping stones we need to encourage more people climb > > > up into the modern VFS world. > > > > What if we could run our existing filesystem code in userspace? > > You mean like lklfuse already enables? I'm not seeing that it does? I just had a look at the code, and I don't see anything there related to the VFS - AFAIK, a VFS -> fuse layer doesn't exist yet. And that looks a lot heavier than what we'd ideally want, i.e. a _lot_ more kernel code would be getting pulled in. The entire block layer, probably the scheduler as well. What I've got in bcachefs-tools is a much thinner mapping from e.g. kthreads -> pthreads, block layer -> aio, etc.