Spdk/module
Konrad Sztyber 6db4a00c58 bdev/nvme: depopulate namespaces in module_fini callback
Currently the namespaces are depopulated in two cases: if the controller
is detached (either due to its hot unplug or RPC call) or due to
"namespace attribute changed" asynchronous event.  It means that during
shutdown, when nvme_bdev_ctrlr is destroyed, the namespaces aren't
depopulated.

For regular NVMe namespaces it isn't a big issue, since their only
depopulate task is to unregister bdevs created on that namespace, which
is already done by the bdev layer.  However, it can be a problem for
other types of namespaces (e.g. Open Channel), as they might allocate
their own context in nvme_bdev_ns.type_ctx, which, unless the namespace
is depopulated, cannot be freed.

Change-Id: I91c7f2a50b206b45eb5bdcada278d6454c4cf144
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478190
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2019-12-23 08:43:34 +00:00
..
bdev bdev/nvme: depopulate namespaces in module_fini callback 2019-12-23 08:43:34 +00:00
blob blob_bdev: add spdk_bdev_create_bs_dev_from_desc 2019-09-18 02:59:59 +00:00
blobfs rpc/blobfs: add cache size setting rpc 2019-11-07 00:33:25 +00:00
copy RPC: rename scan_ioat_copy_engine to ioat_scan_copy_engine 2019-09-19 19:24:47 +00:00
env_dpdk env_dpdk/rpc: add rpc to get memory stats. 2019-12-13 11:05:57 +00:00
event app/rpc: Add cpumask to output of thread_get_stats RPC 2019-12-11 11:05:36 +00:00
sock sock/posix: Use sendmsg instead of writev when flushing 2019-12-16 12:34:02 +00:00
Makefile env_dpdk/rpc: add rpc to get memory stats. 2019-12-13 11:05:57 +00:00