numam-spdk/lib/nvme
Shuhei Matsumoto 3806b2e1f9 lib/nvme: Make nvme_ctrlr_destruct() asynchronous
Following the last patch, separate nvme_ctrlr_destruct()
into nvme_ctrlr_destruct_async() and nvme_ctrlr_destruct_poll_async(),
but keep nvme_ctrlr_destruct() by replacing the internal by
nvme_ctrlr_destruct_async() and nvme_ctrlr_destruct_poll_async().

Add shutdown_complete to nvme_ctrlr_detach_ctx. If shutdown_complete is true,
we can destruct the controller. The case that nvme_ctrlr_shutdown_async()
failed sets shutdown_complete to true. The case that nvme_ctrlr_disable()
is called sets shutdown_complete to true unconditionally.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I3994e259f9d3ccf8fede3ac03aadef911eefb9dd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4415
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jacek Kalwas <jacek.kalwas@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
2020-10-20 16:55:55 +00:00
..
Makefile nvme: add getters for ZNS specific data structures 2020-09-30 07:26:04 +00:00
nvme_ctrlr_cmd.c nvme: add a csi parameter to nvme_ctrlr_cmd_identify() 2020-09-22 11:39:53 +00:00
nvme_ctrlr_ocssd_cmd.c ocssd: hold lock when calling nvme_ctrlr_submit_admin_request 2019-02-15 21:27:58 +00:00
nvme_ctrlr.c lib/nvme: Make nvme_ctrlr_destruct() asynchronous 2020-10-20 16:55:55 +00:00
nvme_cuse.c nvme: fix signed/unsigned error with cuse ioctls 2020-10-19 10:00:29 +00:00
nvme_cuse.h lib/nvme: add RPC for interacting with CUSE devices 2019-10-24 23:43:59 +00:00
nvme_fabric.c log: simplify SPDK_LOG_REGISTER_COMPONENT 2020-10-14 08:00:35 +00:00
nvme_internal.h lib/nvme: Make nvme_ctrlr_destruct() asynchronous 2020-10-20 16:55:55 +00:00
nvme_io_msg.c lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_io_msg.h lib/nvme: update io msg producers on ns manage 2020-06-05 09:01:44 +00:00
nvme_ns_cmd.c log: simplify SPDK_LOG_REGISTER_COMPONENT 2020-10-14 08:00:35 +00:00
nvme_ns_ocssd_cmd.c nvme: save separate metadata size to nvme request 2020-04-02 07:02:38 +00:00
nvme_ns.c log: simplify SPDK_LOG_REGISTER_COMPONENT 2020-10-14 08:00:35 +00:00
nvme_opal_internal.h nvme/opal: deprecate spdk_opal_supported() 2020-05-20 14:16:44 +00:00
nvme_opal.c log: remove internal log.h header 2020-10-15 08:23:39 +00:00
nvme_pcie.c lib/nvme: Hold ctrlr->ctrlr_lock before calling nvme_ctrlr_fail 2020-10-15 08:24:47 +00:00
nvme_poll_group.c lib/nvme: switch poll group to use connect/disconnect semantics. 2020-04-22 19:06:26 +00:00
nvme_qpair.c nvme: fix infinite loop when aborting queued reqs 2020-09-17 21:34:58 +00:00
nvme_quirks.c log: simplify SPDK_LOG_REGISTER_COMPONENT 2020-10-14 08:00:35 +00:00
nvme_rdma.c nvme/nvme_rdma: Fix possible used uninitialized value. 2020-10-16 08:15:57 +00:00
nvme_tcp.c log: simplify SPDK_LOG_REGISTER_COMPONENT 2020-10-14 08:00:35 +00:00
nvme_transport.c log: simplify SPDK_LOG_REGISTER_COMPONENT 2020-10-14 08:00:35 +00:00
nvme_uevent.c nvme: increase size of uevent buffer to 1MB 2020-09-08 07:49:32 +00:00
nvme_uevent.h nvme: read all uevents 2020-08-24 07:38:33 +00:00
nvme_zns.c nvme: add support for ZNS zone management send command 2020-10-20 12:18:56 +00:00
nvme.c lib/nvme: Hold ctrlr->ctrlr_lock before calling nvme_ctrlr_fail 2020-10-15 08:24:47 +00:00
spdk_nvme.map nvme: add support for ZNS zone management send command 2020-10-20 12:18:56 +00:00