Spdk/test/unit/lib/bdev
Shuhei Matsumoto 5863f95ae4 bdev/nvme: Submit abort command for admin command on the current thread
Previously only a single thread could submit abort commands for admin
commands and it was the thread of the corresponding controller.

When we support multipath, we need to traverse the list of controllers
to which the target admin command is submitted. Threads of controllers
may be different.

On the other hand, the previous implementation made the I/O flow very
clean, but the I/O flow will not be clean if there are many controllers
and the subsystem does not have its thread.

This patch changes the policy so that any SPDK thread can submit abort
commands for admin commands.

Then when multipath is supported, we will be able to traverse the
list of controllers simply on the current thread to abort either I/O
command or admin command.

We already are able to submit any admin command on any thread anytime
including abort command. Hence this will not cause any issue.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Ib69de33f2e84b03861c7d95ce060035bdb589e4b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8121
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
2021-06-02 11:37:58 +00:00
..
bdev_zone.c bdev/zone: add support for get num zones 2021-04-26 16:16:42 +00:00
bdev.c bdev: speed up bdev name lookup by using rbtree 2021-05-26 09:22:06 +00:00
compress.c modules/crypto/compress: changes to support DPDK mbuf changes 2021-01-15 08:30:01 +00:00
crypto.c modules/crypto/compress: changes to support DPDK mbuf changes 2021-01-15 08:30:01 +00:00
gpt module/bdev_gpt: remove spdk prefix from static/internal functions. 2020-05-15 07:58:03 +00:00
mt test: add some missing stubs 2020-11-02 11:23:21 +00:00
nvme bdev/nvme: Submit abort command for admin command on the current thread 2021-06-02 11:37:58 +00:00
part.c lib/bdev: move to spdk_bdev_part_base_construct_ext() 2021-03-09 08:54:53 +00:00
pmem remove unneeded spdk_internal/thread.h includes 2020-12-10 14:38:04 +00:00
raid test: Use PRId64 for portability 2020-11-19 09:53:05 +00:00
scsi_nvme.c ut: make use of CUnit macro to reduce duplications 2020-04-02 14:50:12 +00:00
vbdev_lvol.c bdev: speed up bdev name lookup by using rbtree 2021-05-26 09:22:06 +00:00
vbdev_zone_block.c test: Use PRId64 for portability 2020-11-19 09:53:05 +00:00
Makefile ut/bdev_ocssd: Move bdev_ocssd_ut from bdev directory to bdev/nvme directory 2021-02-09 11:29:53 +00:00