diff options
author | Jens Axboe <axboe@kernel.dk> | 2023-06-23 10:36:43 -0600 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-07-17 10:05:48 -0600 |
commit | d7b8b079a8f6bc007d06d9ee468659dae6053e13 (patch) | |
tree | 7d88ae7a599105768622657c396ca7ccb6d5ace6 /io_uring/poll.c | |
parent | 8165b566049b14152873011ea540eb22eae5111d (diff) | |
download | lwn-d7b8b079a8f6bc007d06d9ee468659dae6053e13.tar.gz lwn-d7b8b079a8f6bc007d06d9ee468659dae6053e13.zip |
io_uring/cancel: support opcode based lookup and cancelation
Add IORING_ASYNC_CANCEL_OP flag for cancelation, which allows the
application to target cancelation based on the opcode of the original
request.
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'io_uring/poll.c')
-rw-r--r-- | io_uring/poll.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/io_uring/poll.c b/io_uring/poll.c index dc1219f606e5..65ec363f6377 100644 --- a/io_uring/poll.c +++ b/io_uring/poll.c @@ -851,7 +851,8 @@ static int __io_poll_cancel(struct io_ring_ctx *ctx, struct io_cancel_data *cd, struct io_hash_bucket *bucket; struct io_kiocb *req; - if (cd->flags & (IORING_ASYNC_CANCEL_FD|IORING_ASYNC_CANCEL_ANY)) + if (cd->flags & (IORING_ASYNC_CANCEL_FD | IORING_ASYNC_CANCEL_OP | + IORING_ASYNC_CANCEL_ANY)) req = io_poll_file_find(ctx, cd, table, &bucket); else req = io_poll_find(ctx, false, cd, table, &bucket); |