Some concerns about recent FUSE ops.
Stef Bon <[email protected]> Fri, 31 Jul 2026 13:11:56 +0200
| Newsgroups | org.kernel.vger.linux-fsdevel |
|---|---|
| Message-ID | <CANXojcw-ZpHshxUmWPQXtSVZpdU=Pegyq=2JJ34kfKYuUFcqGw@mail.gmail.com> |
Hi, I have worked with FUSE for many years now, especially network filesystems. I've got a growing concern about the recent growth of the FUSE flags and options. In my opinion there are some options which should or go into userspace, or are only to be used in niches. For example the FUSE_NO_OPEN en FUSE_NO_OPENDIR bits. Are there any use cases? I doubt there are. Is FUSE_READIR_PLUS_AUTO really required? I doubt it. If you are creating a FUSE fs, you know at INIT what the fs needs and is able to, so the automatic thing is not required. Is FUSE_HANDLE_KILLPRIV just bogus, and was not really thought through? Since there is FUSE_HANDLE_KILLPRIV_V2. Are FUSE_NO_EXPORT_SUPPORT really necessary? Since there is FUSE_EXPORT_SUPPORT. FUSE_OVER_IO_URING is technically a challenge, but does not offer extra functionality. When the FUSE service is doing io_ring to get IO going, that is very possible, but it should use them in combination with the normal read and write (and notify) callbacks. In my vision you do IO_URING on the backend, not on the waiting client (==VFS). FUSE_REQUEST_TIMEOUT is really not required. I've written FUSE fs;s using a timeout, and when expired/timeout, an error is sent to the VFS (ETIMEDOUT) and it is all handled as it should. Please think about it, I'm concerned, and worried that at this pace we just need another set of 32 bits of options in a year or so. And maybe I've written here something you totally do not agree with. Ok, let's discuss. Stef Bon The Netherlands