diff options
author | Ming Lei <ming.lei@redhat.com> | 2025-04-16 11:54:41 +0800 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2025-04-16 19:33:21 -0600 |
commit | e63d2228ef831af36f963b3ab8604160cfff84c1 (patch) | |
tree | 139a8680d920b49e37d6fcb56860e6c5c3f0259d /rust/helpers/helpers.c | |
parent | 736b005b413a172670711ee17cab3c8ccab83223 (diff) | |
download | linux-e63d2228ef831af36f963b3ab8604160cfff84c1.tar.gz linux-e63d2228ef831af36f963b3ab8604160cfff84c1.tar.bz2 linux-e63d2228ef831af36f963b3ab8604160cfff84c1.zip |
ublk: simplify aborting ublk request
Now ublk_abort_queue() is moved to ublk char device release handler,
meantime our request queue is "quiesced" because either ->canceling was
set from uring_cmd cancel function or all IOs are inflight and can't be
completed by ublk server, things becomes easy much:
- all uring_cmd are done, so we needn't to mark io as UBLK_IO_FLAG_ABORTED
for handling completion from uring_cmd
- ublk char device is closed, no one can hold IO request reference any more,
so we can simply complete this request or requeue it for ublk_nosrv_should_reissue_outstanding.
Reviewed-by: Uday Shankar <ushankar@purestorage.com>
Signed-off-by: Ming Lei <ming.lei@redhat.com>
Link: https://lore.kernel.org/r/20250416035444.99569-8-ming.lei@redhat.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions