This patch replaces the synchronous `spdk_nvme_detach()` calls with its asynchronous counterparts in the controller unregister path. An additional poller is introduced to periodically poll the NVMe driver for detach completion. Once the detach is completed, the poller is unregistered and the nvme_ctrlr is destroyed. The poller uses the same period (1ms) as the async probe poller. Since reset and detach cannot happen at the same time, reset_poller was renamed to reset_detach_poller and it can now store the pointer either to the reset or detach poller, depending on the circumstances. Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I5eb2dd6383d98d25d1f9748af08c1a13d18acb0e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8729 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> |
||
---|---|---|
.. | ||
include | ||
lib | ||
.gitignore | ||
Makefile | ||
unittest.sh |