numam-spdk/lib
Shuhei Matsumoto 7a0a2800e0 nvme: Add three APIs for disconnect, start re-enable, and poll re-enable ctrlr
The NVMe bdev module will support two features, delayed reconnect and
delete after multiple failures of reconnect to improve error recovery.

The recently added two APIs, spdk_nvme_ctrlr_reset_async() and
spdk_nvme_ctrlr_reset_poll_async(), were not good enough.

spdk_nvme_ctrlr_reset_ctx was not necessary. It had only a pointer to ctrlr.
Using a pointer to ctrlr directly saves us from undesirable malloc error
processing.

Separate spdk_nvme_ctrlr_reset_async() into spdk_nvme_ctrlr_disconnect()
and spdk_nvme_ctrlr_reconnect_async(). spdk_nvme_ctrlr_disconnect()
disconnects ctrlr including disconnecting adminq.
spdk_nvme_ctrlr_reconnect_async() moves the ctrlr state to INIT.

Then rename spdk_nvme_ctrlr_reset_poll_async() by
spdk_nvme_ctrlr_reconnect_poll_async().

Finally deprecate spdk_nvme_ctrlr_reset_async() and
spdk_nvme_ctrlr_reset_poll_async().

The following patches will change the NVMe bdev module to use these new APIs.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Id1d6858dcdc5fc2e9db0a6ebf3f79cab4f9bbcb7
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10091
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2021-12-08 08:31:24 +00:00
..
accel spelling: lib 2021-12-03 08:12:55 +00:00
bdev bdev: Fail nvme passthru command if not supported by bdev 2021-12-03 08:13:52 +00:00
blob spelling: lib 2021-12-03 08:12:55 +00:00
blobfs trace: move all trace definitions to a separate file 2021-10-20 07:22:00 +00:00
conf so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
dma dma: Add infrstructure for push operation 2021-10-20 22:55:52 +00:00
env_dpdk lib/env_dpdk: remove duplicate entries from DPDK_LIB_LIST 2021-12-07 08:43:16 +00:00
env_ocf spelling: lib 2021-12-03 08:12:55 +00:00
event spelling: lib 2021-12-03 08:12:55 +00:00
ftl spelling: lib 2021-12-03 08:12:55 +00:00
idxd spelling: lib 2021-12-03 08:12:55 +00:00
init spelling: lib 2021-12-03 08:12:55 +00:00
ioat ioat: fix potential double free problem in ioat_channel_start() 2021-06-16 09:00:37 +00:00
iscsi spelling: lib 2021-12-03 08:12:55 +00:00
json json: add the spdk_json_write_uint8|16 function 2021-10-14 09:52:25 +00:00
jsonrpc spelling: lib 2021-12-03 08:12:55 +00:00
log log: add an API to return syslog level based on SPDK's log level 2021-08-12 12:57:39 +00:00
lvol spelling: lib 2021-12-03 08:12:55 +00:00
nbd spelling: lib 2021-12-03 08:12:55 +00:00
notify so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
nvme nvme: Add three APIs for disconnect, start re-enable, and poll re-enable ctrlr 2021-12-08 08:31:24 +00:00
nvmf nvme/compliance: add a case to test CREATE IO SQ with out of range CQID 2021-12-06 23:17:07 +00:00
rdma rdma: Set REMOTE_WRITE permission for iWARP on target side 2021-11-30 09:08:21 +00:00
reduce spelling: lib 2021-12-03 08:12:55 +00:00
rocksdb rocksdb: fix thread name typo 2021-09-03 08:08:20 +00:00
rpc so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
scsi spelling: lib 2021-12-03 08:12:55 +00:00
sock lib/sock: create common lookup for spdk_sock_group_impl 2021-11-24 08:34:41 +00:00
thread spelling: lib 2021-12-03 08:12:55 +00:00
trace trace: enable adding relations between traces 2021-10-21 17:57:33 +00:00
trace_parser spelling: lib 2021-12-03 08:12:55 +00:00
ut_mock so_ver: increase all major versions 2021-02-05 14:43:47 +00:00
util spelling: lib 2021-12-03 08:12:55 +00:00
vfio_user spelling: lib 2021-12-03 08:12:55 +00:00
vhost spelling: lib 2021-12-03 08:12:55 +00:00
virtio spelling: lib 2021-12-03 08:12:55 +00:00
vmd spelling: lib 2021-12-03 08:12:55 +00:00
Makefile lib/trace_parser: add trace_parser library stubs 2021-09-29 08:57:58 +00:00