diff options
author | Jens Axboe <axboe@kernel.dk> | 2022-03-14 09:22:32 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2022-03-14 09:22:32 -0600 |
commit | 888d010cd3cddceaba91ca712d084815ce5492bc (patch) | |
tree | 9d2c94bbe9b935a956e6fc1965596060f5862a68 /man/io_uring_prep_openat2.3 | |
parent | 75b9e7b1ba710d6a22c5f295be99feb53219e389 (diff) | |
download | liburing-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.3 | 10 |
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) |