diff options
| author | Joanne Koong <joannelkoong@gmail.com> | 2026-08-14 11:59:41 -0700 |
|---|---|---|
| committer | Miklos Szeredi <mszeredi@redhat.com> | 2026-08-17 17:02:37 +0200 |
| commit | 6330b1f61ed1d17850fc61bdb8920ca1056e2cf9 (patch) | |
| tree | 3c1f4b78ee470d7b7187ea20bcd2c98f61ed625d /include | |
| parent | 95961b72c57b29a96c14f86d16f1d32787f2e009 (diff) | |
| download | linux-6330b1f61ed1d17850fc61bdb8920ca1056e2cf9.tar.gz linux-6330b1f61ed1d17850fc61bdb8920ca1056e2cf9.zip | |
fuse: decouple fuse_ring creation from ent registration
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.
Reviewed-by: Bernd Schubert <bernd@bsbernd.com>
Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Diffstat (limited to 'include')
0 files changed, 0 insertions, 0 deletions
