f048f3d3d3
When the target I/O is controlled by QoS, the abort request is submitted on the same channel that the target I/O is submitted. By using this, add a helper function bdev_abort_queued_io(), and change _bdev_io_submit() to call bdev_abort_queued_io(), and call _bdev_io_complete_in_submit() with success if bdev_abort_queued_io() returned true when QoS is enabled on the corresponding channel. Add necessary unit test together. Update unit test accordingly, especially, update stub_submit_request() to abort the matched I/O, update io_during_io_done() because we need to know not boolean but the exact completion status now, and update basic_qos() to reset the rate limit to test the abort I/O feature. Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I16ca21e7c32cabfdce5d0e5c27a8af8bb00f11c5 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2230 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> |
||
---|---|---|
.. | ||
bdev_internal.h | ||
bdev_rpc.c | ||
bdev_zone.c | ||
bdev.c | ||
Makefile | ||
part.c | ||
scsi_nvme.c | ||
spdk_bdev.map | ||
vtune.c |