The following patches will remove nvme_ns->ref and use nvme_ns->populated and nvme_ns->bdev instead because nvms_ns->ref is two at most and each count of nvme_ns->ref corresponds to nvme_ns->populated or nvme_ns->bdev. To do that, we need to ensure nvme_ns->populated is cleared after spdk_bdev_unregister() is called, otherwise nvme_bdev_ctrlr_destruct() is called twice. However OCSSD namespace had used nvme_ns->populated to free resource after getting log page completes. To keep such deferral, add the depopulate_pending flag to struct bdev_ocssd_ns and use it. Then clear nvme_ns->populated in bdev_ocssd_free_namespace() after spdk_bdev_unregister(). Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com> Change-Id: I93199dbd504145bd1e5ea59f5914422c6c5bc938 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7102 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> |
||
---|---|---|
.. | ||
accel | ||
bdev | ||
blob | ||
blobfs | ||
env_dpdk | ||
event | ||
sock | ||
Makefile |