diff options
author | Jens Axboe <axboe@kernel.dk> | 2020-01-30 10:25:42 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2020-01-30 10:25:42 -0700 |
commit | d9e1b3061f9fed000cee5d5689b4e0118037065e (patch) | |
tree | cfdea34ee7c0c453440bf3e40c2b2be4a71da042 /man/io_uring_register.2 | |
parent | 9f61a0bd6789ae6218d2e9e472abaee45f4ca829 (diff) | |
download | liburing-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.2 | 90 |
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 |