nbd: release bdev ch and desc after close nbd fd

bdev channel is used in nbd fini process, so it should
be released in the latter part of nbd_stop

Change-Id: I87edea63d2d91954cc41cdb71261485ae24c0d9f
Signed-off-by: Liu Xiaodong <xiaodong.liu@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/6280
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: <dongx.yi@intel.com>
This commit is contained in:
Liu Xiaodong 2021-02-05 11:24:01 -05:00 committed by Tomasz Zawadzki
parent 894ef450a5
commit 59d527f10f

View File

@ -369,14 +369,6 @@ nbd_cleanup_io(struct spdk_nbd_disk *nbd)
static void
_nbd_stop(struct spdk_nbd_disk *nbd)
{
if (nbd->ch) {
spdk_put_io_channel(nbd->ch);
}
if (nbd->bdev_desc) {
spdk_bdev_close(nbd->bdev_desc);
}
if (nbd->nbd_poller) {
spdk_poller_unregister(&nbd->nbd_poller);
}
@ -406,6 +398,14 @@ _nbd_stop(struct spdk_nbd_disk *nbd)
free(nbd->nbd_path);
}
if (nbd->ch) {
spdk_put_io_channel(nbd->ch);
}
if (nbd->bdev_desc) {
spdk_bdev_close(nbd->bdev_desc);
}
nbd_disk_unregister(nbd);
free(nbd);