summaryrefslogtreecommitdiff
path: root/man/io_uring_prep_openat2.3
diff options
context:
space:
mode:
authorJens Axboe <axboe@kernel.dk>2022-03-14 09:22:32 -0600
committerJens Axboe <axboe@kernel.dk>2022-03-14 09:22:32 -0600
commit888d010cd3cddceaba91ca712d084815ce5492bc (patch)
tree9d2c94bbe9b935a956e6fc1965596060f5862a68 /man/io_uring_prep_openat2.3
parent75b9e7b1ba710d6a22c5f295be99feb53219e389 (diff)
downloadliburing-888d010cd3cddceaba91ca712d084815ce5492bc.tar.gz
liburing-888d010cd3cddceaba91ca712d084815ce5492bc.tar.bz2
man: add blurb about data passed in structs being stable across submit
All commands that take some kind of state in a struct must ensure that it is stable until the command has been submitted, but can rely on that state being stable in the kernel once submit is done. They need not keep it stable until the command completes. Link: https://github.com/axboe/liburing/issues/486 Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'man/io_uring_prep_openat2.3')
-rw-r--r--man/io_uring_prep_openat2.310
1 files changed, 10 insertions, 0 deletions
diff --git a/man/io_uring_prep_openat2.3 b/man/io_uring_prep_openat2.3
index 57d9219..97432d4 100644
--- a/man/io_uring_prep_openat2.3
+++ b/man/io_uring_prep_openat2.3
@@ -75,5 +75,15 @@ Instead it returns the negated
directly in the CQE
.I res
field.
+.SH NOTES
+As with any request that passes in data in a struct, that data must remain
+valid until the request has been successfully submitted. It need not remain
+valid until completion. Once a request has been submitted, the in-kernel
+state is stable. Very early kernels (5.4 and earlier) required state to be
+stable until the completion occurred. Applications can test for this
+behavior by inspecting the
+.B IORING_FEAT_SUBMIT_STABLE
+flag passed back from
+.BR io_uring_queue_init_params (3).
.SH SEE ALSO
.BR io_uring_get_sqe (3), io_uring_submit (3), io_uring_register (2), openat2 (2)