Re: [PATCH v6 1/6] fuse: decouple fuse_ring creation from ent registration
Miklos Szeredi <[email protected]> Fri, 17 Jul 2026 11:32:42 +0200
| Newsgroups | dev.linux.lists.fuse-devel |
|---|---|
| Message-ID | <CAJfpegsNb=1P7Vh+DVfg3Ve9T8ggHxi1Y-ZhqiQ6R1bbnCTHGA@mail.gmail.com> |
On Thu, 16 Jul 2026 at 19:59, Joanne Koong <[email protected]> wrote: > > Currently, the connection's fuse_ring is created lazily on the first > FUSE_IO_URING_CMD_REGISTER command. A server registers entries from one > thread per queue (one per CPU) and those threads issue their first > REGISTER command concurrently. They then race to create the single > per-connection fuse_ring, which required open-coded handling in > fuse_uring_create() to detect and protect against concurrent creations. > > Decouple fuse_ring creation from ent registration and move it to > FUSE_INIT reply processing after a server has negotiated and set > FUSE_OVER_IO_URING. The ring is published before the connection is > marked initialized. fuse_uring_register() no longer creates the ring and > it instead uses the ring set up at init time. What about if the fuse ring is not yet set up? Should fuse_uring_register() wait in that case? Thanks, Miklos