Re: [MAINTAINERS/KERNEL SUMMIT] Trust and maintenance of file systems

Kent Overstreet
2023-09-09T22:42:39Z

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?

bcachefs has a shim layer (like xfs, but more extensive) to run nearly
the entire filesystem - about 90% by loc - in userspace.

Right now this is used for e.g. userspace fsck, but one of my goals is
to have the entire filesystem available as a FUSE filesystem. I'd been
planning on doing the fuse port as a straight fuse implementation, but
OTOH if we attempted a sh vfs iops/aops/etc. -> fuse shim, then we would
have pretty much everything we need to run any existing fs (e.g.
reiserfs) as a fuse filesystem.

It'd be a nontrivial project with some open questions (e.g. do we have
to lift all of bufferheads to userspace?) but it seems worth
investigating.