Skip to content

Commit e059e06

Browse files
committed
fuse: Fetch a queued fuse request on command registration
With the reduced queue feature io-uring is marked as ready after receiving the 1st ring entry. At this time other queues just might be in the process of registration and then a race happens fuse_uring_queue_fuse_req -> no queue entry registered yet list_add_tail -> fuse request gets queues So far fetching requests from the list only happened from FUSE_IO_URING_CMD_COMMIT_AND_FETCH, but without new requests on the same queue, it would actually never send requests from that queue - the request was stuck.
1 parent dfca338 commit e059e06

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

fs/fuse/dev_uring.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1379,6 +1379,8 @@ static int fuse_uring_register(struct io_uring_cmd *cmd,
13791379

13801380
fuse_uring_do_register(ent, cmd, issue_flags);
13811381

1382+
fuse_uring_next_fuse_req(ent, queue, issue_flags);
1383+
13821384
return 0;
13831385
}
13841386

0 commit comments

Comments
 (0)