Spdk/module/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
..
aio bdev/aio: respond to create RPC after bdev is examined 2021-05-13 10:07:07 +00:00
compress bdev: speed up bdev name lookup by using rbtree 2021-05-26 09:22:06 +00:00
crypto so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
delay so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
error bdev/error: properly initialize value of num for inject_error RPC 2021-04-15 21:41:05 +00:00
ftl so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
gpt lib/bdev: move to spdk_bdev_part_base_construct_ext() 2021-03-09 08:54:53 +00:00
iscsi bdev/iscsi: apply max_unmap and max_unmap_segments to bdev layer 2021-05-14 10:00:54 +00:00
lvol bdev: speed up bdev name lookup by using rbtree 2021-05-26 09:22:06 +00:00
malloc bdev/malloc: check block size when creating a new block device 2021-03-01 12:07:09 +00:00
null so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme bdev/nvme: Submit abort command for admin command on the current thread 2021-06-02 11:37:58 +00:00
ocf bdev/ocf: Improve cache line size handling 2021-05-11 11:56:04 +00:00
passthru so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
pmem so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
raid bdev/raid: remove deprecated parameter strip_size 2021-03-29 07:41:09 +00:00
rbd rbd/rpc: Add a rpc call to get the info of the clusters. 2021-05-26 09:21:48 +00:00
split splite/vbdev_split: Free base part bdev on the error path. 2021-03-02 08:02:58 +00:00
uring so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
virtio virtio-blk: add hotplug rpc 2021-04-16 19:21:13 +00:00
zone_block module/zone_block: don't align size to optimal open zones 2021-05-07 20:37:22 +00:00
Makefile bdev: move bdev_rpc library contents 2020-09-25 11:43:42 +00:00