summaryrefslogtreecommitdiff
path: root/man/io_uring_register.2
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2020-01-30 10:25:42 -0700
committerJens Axboe <axboe@kernel.dk>2020-01-30 10:25:42 -0700
commitd9e1b3061f9fed000cee5d5689b4e0118037065e (patch)
treecfdea34ee7c0c453440bf3e40c2b2be4a71da042 /man/io_uring_register.2
parent9f61a0bd6789ae6218d2e9e472abaee45f4ca829 (diff)
downloadliburing-d9e1b3061f9fed000cee5d5689b4e0118037065e.tar.gz
liburing-d9e1b3061f9fed000cee5d5689b4e0118037065e.tar.bz2
man/io_uring_register.2: add missing registration opcodes
Also mention availability of all of them in terms of kernel version for mainline. Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'man/io_uring_register.2')
-rw-r--r--man/io_uring_register.290
1 files changed, 86 insertions, 4 deletions
diff --git a/man/io_uring_register.2 b/man/io_uring_register.2
index 7c156dc..6e4491b 100644
--- a/man/io_uring_register.2
+++ b/man/io_uring_register.2
@@ -90,13 +90,14 @@ then issuing a new call to
with the new buffers.
An application need not unregister buffers explicitly before shutting
-down the io_uring instance.
+down the io_uring instance. Available since 5.1.
+
.TP
.B IORING_UNREGISTER_BUFFERS
This operation takes no argument, and
.I arg
must be passed as NULL. All previously registered buffers associated
-with the io_uring instance will be released.
+with the io_uring instance will be released. Available since 5.1.
.TP
.B IORING_REGISTER_FILES
@@ -118,13 +119,94 @@ member is set to the index of the file in the file descriptor array.
Files are automatically unregistered when the io_uring instance is
torn down. An application need only unregister if it wishes to
-register a new set of fds.
+register a new set of fds. Available since 5.1.
+
+.TP
+.B IORING_REGISTER_FILES_UPDATE
+This operation replaces existing files in the registered file set with new
+ones, either turning a sparse entry (one where fd is equal to -1) into a
+real one, removing an existing entry (new one is set to -1), or replacing
+an existing entry with a new existing entry.
+.I arg
+must contain a pointer to a struct io_uring_files_update, which contains
+an offset on which to start the update, and an array of file descriptors to
+use for the update.
+.I nr_args
+must contain the number of descriptors in the passed in array. Available
+since 5.5.
+
.TP
.B IORING_UNREGISTER_FILES
This operation requires no argument, and
.I arg
must be passed as NULL. All previously registered files associated
-with the io_uring instance will be unregistered.
+with the io_uring instance will be unregistered. Available since 5.1.
+
+.TP
+.B IORING_REGISTER_EVENTFD
+It's possible to use eventfd(2) to get notified of completion events on an
+io_uring instance. If this is desired, an eventfd file descriptor can be
+registered through this operation.
+.I arg
+must contain a pointer to the eventfd file descriptor, and
+.I nr_args
+must be 1. Available since 5.2.
+
+.TP
+.B IORING_REGISTER_EVENTFD_ASYNC
+This works just like
+.B IORING_REGISTER_EVENTFD
+, except notifications are only posted for events that complete in an async
+manner. This means that events that complete inline while being submitted
+do not trigger a notification event. The arguments supplied are the same as
+for
+.B IORING_REGISTER_EVENTFD.
+Available since 5.6.
+
+.TP
+.B IORING_UNREGISTER_EVENTFD
+Unregister an eventfd file descriptor to stop notifications. Since only one
+eventfd descriptor is currently supported, this operation takes no argument,
+and
+.I arg
+must be passed as NULL and
+.I nr_args
+must be zero. Available since 5.2.
+
+.TP
+.B IORING_REGISTER_PROBE
+This operation returns a structure, io_uring_probe, which contains information
+about the opcodes supported by io_uring on the running kernel.
+.I arg
+must contain a pointer to a struct io_uring_probe, and
+.I nr_args
+must contain the size of the ops array in that probe struct. The ops array
+is of the type io_uring_probe_op, which holds the value of the opcode and
+a flags field. If the flags field has
+.B IO_URING_OP_SUPPORTED
+set, then this opcode is supported on the running kernel. Available since 5.6.
+
+.TP
+.B IORING_REGISTER_PERSONALITY
+This operation registers credentials of the running application with io_uring,
+and returns an id associated with these credentials. Applications wishing to
+share a ring between separate users/processes can pass in this credential id
+in the sqe
+.B personality
+field. If set, that particular sqe will be issued with these credentials. Must
+be invoked with
+.I arg
+set to NULL and
+.I nr_args
+set to zero. Available since 5.6.
+
+.TP
+.B IORING_UNREGISTER_PERSONALITY
+This operation unregisters a previously registered personality with io_uring.
+.I nr_args
+must be set to the id in question, and
+.I arg
+must be set to NULL. Available since 5.6.
.SH RETURN VALUE