spdk_nvme_ctrlr_disconnect() will be made asynchronous in the following patches and so we will need to have some changes. spdk_nvme_ctrlr_disconnect() disconnects adminq and ctrlr synchronously now. If spdk_nvme_ctrlr_disconnect() is made asynchronous, spdk_nvme_ctrlr_process_admin_completions() will complete to disconnect adminq and ctrlr, and will return -ENXIO only if adminq is disconnected. However even now spdk_nvme_ctrlr_process_admin_completions() returns -ENXIO if adminq is disconnected. So as a preparation, set a callback before calling spdk_nvme_ctrlr_disconnect() and call the callback if it is set and spdk_nvme_ctrlr_process_admin_completions() returns -ENXIO. Besides, fix the return value of bdev_nvme_poll_adminq() in this patch. Change-Id: I2559f86bb8cf9a92b5b386ed816c00b08c9832df Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10950 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> |
||
---|---|---|
.. | ||
bdev_nvme_cuse_rpc.c | ||
bdev_nvme_rpc.c | ||
bdev_nvme.c | ||
bdev_nvme.h | ||
Makefile | ||
nvme_rpc.c | ||
vbdev_opal_rpc.c | ||
vbdev_opal.c | ||
vbdev_opal.h |