aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-06-04 05:47:37 -0600
committerJens Axboe <axboe@kernel.dk>2022-06-04 06:00:57 -0600
commitfebf522af0e83938d7c4a0d553b2631c7ba1178f (patch)
tree76bec3d3a232e959fa383762bc9cfe3bdb397ce6
parent4633a2d0fe9bd1f3dbb5b6d2788a08a264803146 (diff)
downloadliburing-febf522af0e83938d7c4a0d553b2631c7ba1178f.tar.gz
man: man page tweaks
Consistent use of -errno, remove double empty lines, some formatting, and some clarifications in various spots. Also add the data64 variants of the sqe setting and cqe user_data getting helpers. Signed-off-by: Jens Axboe <axboe@kernel.dk>
-rw-r--r--man/io_uring_cqe_get_data.321
l---------man/io_uring_cqe_get_data64.31
-rw-r--r--man/io_uring_enter.216
-rw-r--r--man/io_uring_prep_accept.32
-rw-r--r--man/io_uring_prep_close.32
-rw-r--r--man/io_uring_prep_linkat.312
-rw-r--r--man/io_uring_prep_mkdirat.35
-rw-r--r--man/io_uring_prep_openat.32
-rw-r--r--man/io_uring_prep_openat2.32
-rw-r--r--man/io_uring_prep_renameat.35
-rw-r--r--man/io_uring_prep_socket.38
-rw-r--r--man/io_uring_prep_symlinkat.39
-rw-r--r--man/io_uring_prep_sync_file_range.32
-rw-r--r--man/io_uring_prep_unlinkat.34
-rw-r--r--man/io_uring_queue_init.310
-rw-r--r--man/io_uring_register_eventfd.32
-rw-r--r--man/io_uring_register_ring_fd.32
-rw-r--r--man/io_uring_sq_ready.35
-rw-r--r--man/io_uring_sq_space_left.32
-rw-r--r--man/io_uring_sqe_set_data.322
l---------man/io_uring_sqe_set_data64.31
-rw-r--r--man/io_uring_sqe_set_flags.326
-rw-r--r--man/io_uring_sqring_wait.34
-rw-r--r--man/io_uring_submit.33
-rw-r--r--man/io_uring_submit_and_wait.39
-rw-r--r--man/io_uring_submit_and_wait_timeout.314
-rw-r--r--man/io_uring_unregister_buffers.33
-rw-r--r--man/io_uring_unregister_files.33
-rw-r--r--man/io_uring_unregister_ring_fd.32
-rw-r--r--man/io_uring_wait_cqe_timeout.37
30 files changed, 143 insertions, 63 deletions
diff --git a/man/io_uring_cqe_get_data.3 b/man/io_uring_cqe_get_data.3
index 9112ee3..4cbb32c 100644
--- a/man/io_uring_cqe_get_data.3
+++ b/man/io_uring_cqe_get_data.3
@@ -10,30 +10,43 @@ io_uring_cqe_get_data \- get user data for completion event
.B #include <liburing.h>
.PP
.BI "void *io_uring_cqe_get_data(struct io_uring_cqe *" cqe ");"
+.BI "
+.BI "__u64 io_uring_cqe_get_data64(struct io_uring_cqe *" cqe ");"
.fi
.SH DESCRIPTION
.PP
The
.BR io_uring_cqe_get_data (3)
function returns the user_data with the completion queue entry
-.IR cqe .
+.IR cqe
+as a data pointer.
+
+The
+.BR io_uring_cqe_get_data64 (3)
+function returns the user_data with the completion queue entry
+.IR cqe
+as a 64-bit data value.
After the caller has received a completion queue entry (CQE) with
.BR io_uring_wait_cqe (3),
the application can call
.BR io_uring_cqe_get_data (3)
+or
+.BR io_uring_cqe_get_data64 (3)
function to retrieve the
.I user_data
value. This requires that
.I user_data
has been set earlier with the function
-.BR io_uring_sqe_set_data (3).
+.BR io_uring_sqe_set_data (3)
+or
+.BR io_uring_sqe_set_data64 (3).
.SH RETURN VALUE
If the
.I user_data
-value has been set before submitting the request, it will be returned. Otherwise
-the functions returns NULL.
+value has been set before submitting the request, it will be returned.
+Otherwise the functions returns NULL.
.SH SEE ALSO
.BR io_uring_get_sqe (3),
.BR io_uring_sqe_set_data (3),
diff --git a/man/io_uring_cqe_get_data64.3 b/man/io_uring_cqe_get_data64.3
new file mode 120000
index 0000000..51991c2
--- /dev/null
+++ b/man/io_uring_cqe_get_data64.3
@@ -0,0 +1 @@
+io_uring_cqe_get_data.3 \ No newline at end of file
diff --git a/man/io_uring_enter.2 b/man/io_uring_enter.2
index 22dbbd5..3c04541 100644
--- a/man/io_uring_enter.2
+++ b/man/io_uring_enter.2
@@ -441,7 +441,7 @@ clock source. The request will complete with
if the timeout got completed through expiration of the timer, or
.I 0
if the timeout got completed through requests completing on their own. If
-the timeout was cancelled before it expired, the request will complete with
+the timeout was canceled before it expired, the request will complete with
.I -ECANCELED.
Available since 5.4.
@@ -476,7 +476,7 @@ operation.
must contain the
.I user_data
field of the previously issued timeout operation. If the specified timeout
-request is found and cancelled successfully, this request will terminate
+request is found and canceled successfully, this request will terminate
with a result value of
.I 0
If the timeout request was found but expiration was already in progress,
@@ -542,16 +542,16 @@ Attempt to cancel an already issued request.
.I addr
must contain the
.I user_data
-field of the request that should be cancelled. The cancellation request will
+field of the request that should be canceled. The cancelation request will
complete with one of the following results codes. If found, the
.I res
field of the cqe will contain 0. If not found,
.I res
-will contain -ENOENT. If found and attempted cancelled, the
+will contain -ENOENT. If found and attempted canceled, the
.I res
field will contain -EALREADY. In this case, the request may or may not
terminate. In general, requests that are interruptible (like socket IO) will
-get cancelled, while disk IO requests cannot be cancelled if already started.
+get canceled, while disk IO requests cannot be canceled if already started.
Available since 5.5.
.TP
@@ -569,9 +569,9 @@ If used, the timeout specified in the command will cancel the linked command,
unless the linked command completes before the timeout. The timeout will
complete with
.I -ETIME
-if the timer expired and the linked request was attempted cancelled, or
+if the timer expired and the linked request was attempted canceled, or
.I -ECANCELED
-if the timer got cancelled because of completion of the linked request. Like
+if the timer got canceled because of completion of the linked request. Like
.B IORING_OP_TIMEOUT
the clock source used is
.B CLOCK_MONOTONIC
@@ -1138,7 +1138,7 @@ opcode specific and is the same as with breaking chains of
One special case is when the request has a linked timeout, then the CQE
generation for the linked timeout is decided solely by whether it has
.B IOSQE_CQE_SKIP_SUCCESS
-set, regardless whether it timed out or was cancelled. In other words, if a
+set, regardless whether it timed out or was canceled. In other words, if a
linked timeout has the flag set, it's guaranteed to not post a CQE.
The semantics are chosen to accommodate several use cases. First, when all but
diff --git a/man/io_uring_prep_accept.3 b/man/io_uring_prep_accept.3
index c6b9609..b859013 100644
--- a/man/io_uring_prep_accept.3
+++ b/man/io_uring_prep_accept.3
@@ -114,7 +114,7 @@ The allocated descriptor will be returned in the CQE
.I res
field, like a non-direct accept request.
-This function prepares an async
+These functions prepare an async
.BR accept4 (2)
request. See that man page for details.
diff --git a/man/io_uring_prep_close.3 b/man/io_uring_prep_close.3
index 832b3b1..c4b0276 100644
--- a/man/io_uring_prep_close.3
+++ b/man/io_uring_prep_close.3
@@ -43,7 +43,7 @@ function is identical to closing a file descriptor indicated by
and unregistering the direct descriptor specified by the
.IR file_index .
-This function prepares an async
+These functions prepare an async
.BR close (2)
request. See that man page for details.
diff --git a/man/io_uring_prep_linkat.3 b/man/io_uring_prep_linkat.3
index bd59afe..0949e3b 100644
--- a/man/io_uring_prep_linkat.3
+++ b/man/io_uring_prep_linkat.3
@@ -40,12 +40,6 @@ and the new path pointed to by
and using the specified flags in
.IR flags .
-This function prepares an async
-.BR linkat (2)
-or
-.BR link (2)
-request. See that man page for details.
-
The
.BR io_uring_prep_link (3)
function prepares a link request. The submission queue entry
@@ -57,6 +51,12 @@ and the new path pointed to by
both relative to the current working directory and using the specified flags in
.IR flags .
+These functions prepare an async
+.BR linkat (2)
+or
+.BR link (2)
+request. See those man pages for details.
+
.SH RETURN VALUE
None
.SH ERRORS
diff --git a/man/io_uring_prep_mkdirat.3 b/man/io_uring_prep_mkdirat.3
index 5198ae7..a98b4e3 100644
--- a/man/io_uring_prep_mkdirat.3
+++ b/man/io_uring_prep_mkdirat.3
@@ -43,12 +43,11 @@ operation on the path identified by
with the mode given in
.IR mode .
-This function prepares an async
+These functions prepare an async
.BR mkdir (2)
or
.BR mkdirat (2)
-request. See that man page for details.
-
+request. See those man pages for details.
.SH RETURN VALUE
None
diff --git a/man/io_uring_prep_openat.3 b/man/io_uring_prep_openat.3
index d8b19a4..e8b4217 100644
--- a/man/io_uring_prep_openat.3
+++ b/man/io_uring_prep_openat.3
@@ -79,7 +79,7 @@ are available in the direct descriptor table,
.B -ENFILE
is returned instead.
-This function prepares an async
+These functions prepare an async
.BR openat (2)
request. See that man page for details.
diff --git a/man/io_uring_prep_openat2.3 b/man/io_uring_prep_openat2.3
index 5d3f445..338cf7e 100644
--- a/man/io_uring_prep_openat2.3
+++ b/man/io_uring_prep_openat2.3
@@ -79,7 +79,7 @@ are available in the direct descriptor table,
.B -ENFILE
is returned instead.
-This function prepares an async
+These functions prepare an async
.BR openat2 (2)
request. See that man page for details.
diff --git a/man/io_uring_prep_renameat.3 b/man/io_uring_prep_renameat.3
index dab0caf..1fc9e01 100644
--- a/man/io_uring_prep_renameat.3
+++ b/man/io_uring_prep_renameat.3
@@ -51,7 +51,7 @@ with the new path pointed to by
both relative to the current working directory and using the specified flags in
.IR flags .
-This function prepares an async
+These functions prepare an async
.BR renameat2 (2)
or
.BR rename (2)
@@ -59,8 +59,7 @@ request. If
.I flags
is zero, then this call is similar to the
.BR renameat (2)
-system call. See those man page for details.
-
+system call. See those man pages for details.
.SH RETURN VALUE
None
diff --git a/man/io_uring_prep_socket.3 b/man/io_uring_prep_socket.3
index e576de9..473f225 100644
--- a/man/io_uring_prep_socket.3
+++ b/man/io_uring_prep_socket.3
@@ -50,10 +50,6 @@ argument should be set to the slot that should be used for this socket, or
.B IORING_FILE_INDEX_ALLOC
if io_uring should allocate a free one.
-This function prepares an async
-.BR socket (2)
-request. See that man page for details.
-
If the direct variant is used, the application must first have registered
a file table using
.BR io_uring_register_files (3)
@@ -74,6 +70,10 @@ be used automatically and the file index will be returned as CQE
.B -ENFILE
is otherwise returned if there is no free entries in the io_uring file table.
+These functions prepare an async
+.BR socket (2)
+request. See that man page for details.
+
.SH RETURN VALUE
None
.SH ERRORS
diff --git a/man/io_uring_prep_symlinkat.3 b/man/io_uring_prep_symlinkat.3
index ae40b75..0fa7056 100644
--- a/man/io_uring_prep_symlinkat.3
+++ b/man/io_uring_prep_symlinkat.3
@@ -32,9 +32,6 @@ to the new destination indicated by
.I newdirfd
and
.IR linkpath .
-This function prepares an async
-.BR symlinkat (2)
-request. See that man page for details.
The
.BR io_uring_prep_symlink (3)
@@ -48,6 +45,12 @@ relative to the the current working directory. This function prepares an async
.BR symlink (2)
request. See that man page for details.
+These functions prepare an async
+.BR symlinkat (2)
+or
+.BR symlink (2)
+request. See those man pages for details.
+
.SH RETURN VALUE
None
.SH ERRORS
diff --git a/man/io_uring_prep_sync_file_range.3 b/man/io_uring_prep_sync_file_range.3
index aa0a07f..830e411 100644
--- a/man/io_uring_prep_sync_file_range.3
+++ b/man/io_uring_prep_sync_file_range.3
@@ -32,7 +32,7 @@ and with modifier flags in the
.I flags
argument.
-This function prepares a
+This function prepares an async
.BR sync_file_range (2)
request. See that man page for details on the arguments.
diff --git a/man/io_uring_prep_unlinkat.3 b/man/io_uring_prep_unlinkat.3
index 1efc211..ba2633c 100644
--- a/man/io_uring_prep_unlinkat.3
+++ b/man/io_uring_prep_unlinkat.3
@@ -42,11 +42,11 @@ is setup to start an unlinkat operation on the path identified by
relative to the current working directory and using the flags given in
.IR flags .
-This function prepares an async
+These functions prepare an async
.BR unlinkat (2)
or
.BR unlink (2)
-request. See that man page for details.
+request. See those man pages for details.
.SH RETURN VALUE
None
diff --git a/man/io_uring_queue_init.3 b/man/io_uring_queue_init.3
index 4785b9e..086b70f 100644
--- a/man/io_uring_queue_init.3
+++ b/man/io_uring_queue_init.3
@@ -53,10 +53,12 @@ of the SQ ring size in given in
If the value isn't a power of 2, it will be rounded up to the nearest power of
2.
-On success io_uring_queue_init() returns 0 and
+On success,
+.BR io_uring_queue_init (3)
+returns 0 and
.I ring
will point to the shared memory containing the io_uring queues. On failure
-.B -errno
+.BR -errno
is returned.
.I flags
@@ -77,7 +79,9 @@ should be released via a corresponding call to
.BR io_uring_queue_exit (3).
.SH RETURN VALUE
.BR io_uring_queue_init (3)
-returns 0 on success and -errno on failure.
+returns 0 on success and
+.BR -errno
+on failure.
.SH SEE ALSO
.BR io_uring_setup (2),
.BR io_uring_register_ring_fd (3),
diff --git a/man/io_uring_register_eventfd.3 b/man/io_uring_register_eventfd.3
index 56f6f21..5cbe72a 100644
--- a/man/io_uring_register_eventfd.3
+++ b/man/io_uring_register_eventfd.3
@@ -45,7 +45,7 @@ as a hint to check the CQ ring for completions.
.SH RETURN VALUE
Returns 0 on success, or
or
-.B -errno
+.BR -errno
on error.
.SH SEE ALSO
.BR eventfd (2)
diff --git a/man/io_uring_register_ring_fd.3 b/man/io_uring_register_ring_fd.3
index d41883c..e70c551 100644
--- a/man/io_uring_register_ring_fd.3
+++ b/man/io_uring_register_ring_fd.3
@@ -42,7 +42,7 @@ ring fd.
.SH RETURN VALUE
Returns 1 on success, indicating that one file descriptor was registered,
or
-.B -errno
+.BR -errno
on error.
.SH SEE ALSO
.BR io_uring_unregister_ring_fd (3),
diff --git a/man/io_uring_sq_ready.3 b/man/io_uring_sq_ready.3
index adc07e0..9927388 100644
--- a/man/io_uring_sq_ready.3
+++ b/man/io_uring_sq_ready.3
@@ -20,6 +20,11 @@ that exist in the SQ ring belonging to the
.I ring
param.
+Usage of this function only applies if the ring has been setup with
+.B IORING_SETUP_SQPOLL,
+where request submissions, and hence consumption from the SQ ring, happens
+through a polling thread.
+
.SH RETURN VALUE
Returns the number of unconsumed or unsubmitted entries in the SQ ring.
.SH SEE ALSO
diff --git a/man/io_uring_sq_space_left.3 b/man/io_uring_sq_space_left.3
index d67eee2..b5b2e21 100644
--- a/man/io_uring_sq_space_left.3
+++ b/man/io_uring_sq_space_left.3
@@ -20,6 +20,6 @@ function retuns how much space is left in the SQ ring belonging to the
param.
.SH RETURN VALUE
-Returns the free space in the SQ ring.
+Returns the number of availables entries in the SQ ring.
.SH SEE ALSO
.BR io_uring_sq_ready (3)
diff --git a/man/io_uring_sqe_set_data.3 b/man/io_uring_sqe_set_data.3
index f7ac513..274a892 100644
--- a/man/io_uring_sqe_set_data.3
+++ b/man/io_uring_sqe_set_data.3
@@ -11,6 +11,9 @@ io_uring_sqe_set_data \- set user data for submission queue event
.PP
.BI "void io_uring_sqe_set_data(struct io_uring_sqe *" sqe ","
.BI " void *" user_data ");"
+.BI "
+.BI "void io_uring_sqe_set_data64(struct io_uring_sqe *" sqe ","
+.BI " __u64 " data ");"
.fi
.SH DESCRIPTION
.PP
@@ -21,9 +24,22 @@ function stores a
pointer with the submission queue entry
.IR sqe .
-After the caller has requested an submission queue entry (SQE) with io_uring_get_sqe(),
-he can associate a data pointer with the SQE. Once the completion arrives, the
-function io_uring_cqe_get_data() can be called to identify the user request.
+The
+.BR io_uring_sqe_set_data64 (3)
+function stores a 64-bit
+.I data
+value with the submission queue entry
+.IR sqe .
+
+After the caller has requested a submission queue entry (SQE) with
+.BR io_uring_get_sqe (3) ,
+they can associate a data pointer or value with the SQE. Once the completion
+arrives, the function
+.BR io_uring_cqe_get_data (3)
+or
+.BR io_uring_cqe_get_data64 (3)
+can be called to retrieve the data pointer or value associated with the
+submitted request.
.SH RETURN VALUE
None
diff --git a/man/io_uring_sqe_set_data64.3 b/man/io_uring_sqe_set_data64.3
new file mode 120000
index 0000000..8bbd692
--- /dev/null
+++ b/man/io_uring_sqe_set_data64.3
@@ -0,0 +1 @@
+io_uring_sqe_set_data.3 \ No newline at end of file
diff --git a/man/io_uring_sqe_set_flags.3 b/man/io_uring_sqe_set_flags.3
index 23f5c8c..75e836b 100644
--- a/man/io_uring_sqe_set_flags.3
+++ b/man/io_uring_sqe_set_flags.3
@@ -35,7 +35,9 @@ Normal operation for io_uring is to try and issue an sqe as non-blocking first,
and if that fails, execute it in an async manner. To support more efficient
overlapped operation of requests that the application knows/assumes will
always (or most of the time) block, the application can ask for an sqe to be
-issued async from the start.
+issued async from the start. Note that this flag immediately causes the SQE
+to be offloaded to an async helper thread with no initial non-blocking attempt.
+This may be less efficient and should not be used sporadically.
.TP
.B IOSQE_IO_LINK
When this flag is specified, the SQE forms a link with the next SQE in the
@@ -50,13 +52,35 @@ executing in parallel, or chains and individual SQEs. Only members inside the
chain are serialized. A chain of SQEs will be broken if any request in that
chain ends in error.
.TP
+.B IOSQE_IO_HARDLINK
+Like
+.B IOSQE_IO_LINK ,
+except the links aren't severed if an error or unexpected result occurs.
+.TP
.B IOSQE_IO_DRAIN
When this flag is specified, the SQE will not be started before previously
submitted SQEs have completed, and new SQEs will not be started before this
one completes.
+.TP
+.B IOSQE_CQE_SKIP_SUCCESS
+Request that no CQE be generated for this request, if it completes successfully.
+This can be useful in cases where the application doesn't need to know when
+a specific request completed, if it completed succesfully.
+.TP
+.B IOSQE_BUFFER_SELECT
+If set, and if the request types supports it, select an IO buffer from the
+indicated buffer group. This can be used with requests that read or receive
+data from a file or socket, where buffer selection is deferred until the kernel
+is ready to transfer data, instead of when the IO is originally submitted. The
+application must also set the
+.I buf_group
+field in the SQE, indicating which previously registered buffer group to select
+a buffer from.
.SH RETURN VALUE
None
.SH SEE ALSO
.BR io_uring_submit (3),
.BR io_uring_register (3)
+.BR io_uring_register_buffers (3)
+.BR io_uring_register_buf_ring (3)
diff --git a/man/io_uring_sqring_wait.3 b/man/io_uring_sqring_wait.3
index 10296be..d70cf40 100644
--- a/man/io_uring_sqring_wait.3
+++ b/man/io_uring_sqring_wait.3
@@ -21,7 +21,9 @@ param, which happens when the kernel side thread
has consumed one or more entries. If the SQ ring is currently non-full,
no action is taken.
-This feature can only be used when SQPOLL is enabled.
+This feature can only be used when the ring has been setup with
+.B IORING_SETUP_SQPOLL
+and hence is using an offloaded approach to request submissions.
.SH RETURN VALUE
On success it returns the free space. If the kernel does not support the
diff --git a/man/io_uring_submit.3 b/man/io_uring_submit.3
index 2e09980..f871b89 100644
--- a/man/io_uring_submit.3
+++ b/man/io_uring_submit.3
@@ -20,7 +20,8 @@ function submits the next events to the submission queue belonging to the
After the caller retrieves a submission queue entry (SQE) with
.BR io_uring_get_sqe (3)
-and prepares the SQE, it can be submitted with io_uring_submit().
+and prepares the SQE using one of the provided helpers, it can be submitted with
+.BR io_uring_submit (3) .
.SH RETURN VALUE
On success
diff --git a/man/io_uring_submit_and_wait.3 b/man/io_uring_submit_and_wait.3
index 62e5559..1c9eb62 100644
--- a/man/io_uring_submit_and_wait.3
+++ b/man/io_uring_submit_and_wait.3
@@ -22,13 +22,16 @@ and waits for
.I wait_nr
completion events.
-After the caller retrieves a submission queue entry (SQE) with io_uring_get_sqe(),
-prepares the SQE, it can be submitted with io_uring_submit_and_wait().
+After the caller retrieves a submission queue entry (SQE) with
+.BR io_uring_get_sqe (3)
+and prepares the SQE, it can be submitted with
+.BR io_uring_submit_and_wait (3) .
.SH RETURN VALUE
On success
.BR io_uring_submit_and_wait (3)
-returns the number of submitted submission queue entries. On failure it returns -errno.
+returns the number of submitted submission queue entries. On failure it returns
+.BR -errno .
.SH SEE ALSO
.BR io_uring_get_sqe (3),
.BR io_uring_submit (3),
diff --git a/man/io_uring_submit_and_wait_timeout.3 b/man/io_uring_submit_and_wait_timeout.3
index cabc6fe..80fe889 100644
--- a/man/io_uring_submit_and_wait_timeout.3
+++ b/man/io_uring_submit_and_wait_timeout.3
@@ -33,14 +33,20 @@ array. The
specifies the set of signals to block. The prevailing signal mask is restored
before returning.
-After the caller retrieves a submission queue entry (SQE) with io_uring_get_sqe(),
-prepares the SQE, it can be submitted with io_uring_submit_and_wait_timeout().
-
+After the caller retrieves a submission queue entry (SQE) with
+.BR io_uring_get_sqe (3)
+and prepares the SQE, it can be submitted with
+.BR io_uring_submit_and_wait_timeout (3) .
.SH RETURN VALUE
On success
.BR io_uring_submit_and_wait_timeout (3)
-returns the number of submitted submission queue entries. On failure it returns -errno.
+returns the number of submitted submission queue entries. On failure it returns
+.BR -errno .
+The most common failure case is not receiving a completion within the specified
+timeout,
+.B -ETIME
+is returned in this case.
.SH SEE ALSO
.BR io_uring_get_sqe (3),
.BR io_uring_submit (3),
diff --git a/man/io_uring_unregister_buffers.3 b/man/io_uring_unregister_buffers.3
index 262a815..f066679 100644
--- a/man/io_uring_unregister_buffers.3
+++ b/man/io_uring_unregister_buffers.3
@@ -21,6 +21,7 @@ function unregisters the fixed buffers previously registered to the
.SH RETURN VALUE
On success
.BR io_uring_unregister_buffers (3)
-returns 0. On failure it returns -errno.
+returns 0. On failure it returns
+.BR -errno .
.SH SEE ALSO
.BR io_uring_register_buffers (3)
diff --git a/man/io_uring_unregister_files.3 b/man/io_uring_unregister_files.3
index bddf4c1..c468d08 100644
--- a/man/io_uring_unregister_files.3
+++ b/man/io_uring_unregister_files.3
@@ -21,6 +21,7 @@ function unregisters the file descriptors previously registered to the
.SH RETURN VALUE
On success
.BR io_uring_unregister_files (3)
-returns 0. On failure it returns -errno.
+returns 0. On failure it returns
+.BR -errno .
.SH SEE ALSO
.BR io_uring_register_files (3)
diff --git a/man/io_uring_unregister_ring_fd.3 b/man/io_uring_unregister_ring_fd.3
index d3deba2..85aca14 100644
--- a/man/io_uring_unregister_ring_fd.3
+++ b/man/io_uring_unregister_ring_fd.3
@@ -25,7 +25,7 @@ For more information on ring descriptor registration, see
.SH RETURN VALUE
Returns 1 on success, indicating that one file descriptor was unregistered, or
-.B -errno
+.BR -errno
on error.
.SH SEE ALSO
.BR io_uring_register_ring_fd (3),
diff --git a/man/io_uring_wait_cqe_timeout.3 b/man/io_uring_wait_cqe_timeout.3
index ce4cd09..965fc32 100644
--- a/man/io_uring_wait_cqe_timeout.3
+++ b/man/io_uring_wait_cqe_timeout.3
@@ -43,9 +43,10 @@ when waiting for a request.
.SH RETURN VALUE
On success
.BR io_uring_wait_cqes (3)
-returns 0 and the cqe_ptr parm is filled in. On failure it returns -errno. The
-return value indicates the result of waiting for a CQE, and it has no relation
-to the CQE result itself.
+returns 0 and the cqe_ptr parm is filled in. On failure it returns
+.BR -errno .
+The return value indicates the result of waiting for a CQE, and it has no
+relation to the CQE result itself.
.SH SEE ALSO
.BR io_uring_submit (3),
.BR io_uring_wait_cqe_timeout (3),