[PATCH] fuse: Fix Documentation/filesystems/fuse-io-uring.rst

Bernd Schubert
2025-01-21T08:38:41Z

This adds several documentation updates I had missed after
renaming functions and also fixes 'make htmldocs'.

Signed-off-by: Bernd Schubert <bschubert@ddn.com>
---
Documentation/filesystems/fuse-io-uring.rst | 84 ++++++++++-----------
Documentation/filesystems/index.rst | 1 +
2 files changed, 42 insertions(+), 43 deletions(-)

diff --git a/Documentation/filesystems/fuse-io-uring.rst b/Documentation/filesystems/fuse-io-uring.rst
index 3c6b127d68a7..d73dd0dbd238 100644
--- a/Documentation/filesystems/fuse-io-uring.rst
+++ b/Documentation/filesystems/fuse-io-uring.rst
@@ -15,8 +15,8 @@ Limitations
===========
As of now not all requests types are supported through io-uring, userspace
is required to also handle requests through /dev/fuse after io-uring setup
-is complete. Specifically notifications (initiated from the daemon side)
- and interrupts.
+is complete. Specifically notifications (initiated from the daemon side)
+and interrupts.

Fuse io-uring configuration
===========================
@@ -40,7 +40,7 @@ pending requests waiting the request will be immediately submitted
to the daemon again.

Initial SQE
------------
+-----------::

| | FUSE filesystem daemon
| |
@@ -52,50 +52,48 @@ Initial SQE
| | >io_uring_submit_and_wait()
| |
| >fuse_uring_cmd() |
- | >fuse_uring_fetch() |
- | >fuse_uring_ent_release() |
+ | >fuse_uring_register() |

Sending requests with CQEs
---------------------------
+--------------------------::

- | | FUSE filesystem daemon
- | | [waiting for CQEs]
- | "rm /mnt/fuse/file" |
- | |
- | >sys_unlink() |
- | >fuse_unlink() |
- | [allocate request] |
- | >__fuse_request_send() |
- | ... |
- | >fuse_uring_queue_fuse_req |
- | [queue request on fg or |
- | bg queue] |
- | >fuse_uring_assign_ring_entry() |
- | >fuse_uring_send_to_ring() |
- | >fuse_uring_copy_to_ring() |
- | >io_uring_cmd_done() |
- | >request_wait_answer() |
- | [sleep on req->waitq] |
- | | [receives and handles CQE]
- | | [submit result and fetch next]
- | | >io_uring_submit()
- | | IORING_OP_URING_CMD/
- | | FUSE_URING_CMD_COMMIT_AND_FETCH
- | >fuse_uring_cmd() |
- | >fuse_uring_commit_and_release() |
- | >fuse_uring_copy_from_ring() |
- | [ copy the result to the fuse req] |
- | >fuse_uring_req_end_and_get_next() |
- | >fuse_request_end() |
- | [wake up req->waitq] |
- | >fuse_uring_ent_release_and_fetch()|
- | [wait or handle next req] |
- | |
- | |
- | [req->waitq woken up] |
- | <fuse_unlink() |
- | <sys_unlink() |
+ | | FUSE filesystem daemon
+ | | [waiting for CQEs]
+ | "rm /mnt/fuse/file" |
+ | |
+ | >sys_unlink() |
+ | >fuse_unlink() |
+ | [allocate request] |
+ | >fuse_send_one() |
+ | ... |
+ | >fuse_uring_queue_fuse_req |
+ | [queue request on fg queue] |
+ | >fuse_uring_add_req_to_ring_ent() |
+ | ... |
+ | >fuse_uring_copy_to_ring() |
+ | >io_uring_cmd_done() |
+ | >request_wait_answer() |
+ | [sleep on req->waitq] |
+ | | [receives and handles CQE]
+ | | [submit result and fetch next]
+ | | >io_uring_submit()
+ | | IORING_OP_URING_CMD/
+ | | FUSE_URING_CMD_COMMIT_AND_FETCH
+ | >fuse_uring_cmd() |
+ | >fuse_uring_commit_fetch() |
+ | >fuse_uring_commit() |
+ | >fuse_uring_copy_from_ring() |
+ | [ copy the result to the fuse req] |
+ | >fuse_uring_req_end() |
+ | >fuse_request_end() |
+ | [wake up req->waitq] |
+ | >fuse_uring_next_fuse_req |
+ | [wait or handle next req] |
+ | |
+ | [req->waitq woken up] |
+ | <fuse_unlink() |
+ | <sys_unlink() |

diff --git a/Documentation/filesystems/index.rst b/Documentation/filesystems/index.rst
index 44e9e77ffe0d..2636f2a41bd3 100644
--- a/Documentation/filesystems/index.rst
+++ b/Documentation/filesystems/index.rst
@@ -98,6 +98,7 @@ Documentation for filesystem implementations.
hpfs
fuse
fuse-io
+ fuse-io-uring
inotify
isofs
nilfs2
--
2.43.0