From b4bcf7721d64e861f1668004a69793934511e5a7 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Fri, 1 Apr 2022 15:01:15 +0900 Subject: [PATCH] bdev: bdev_close() unlock g_bdev_mgr.mutex after spdk_io_device_unregister() spdk_io_device_unregister() send message to call its callback. So to make the following patches easier, consolidate g_bdev_mgr.mutex unlocks to the end of spdk_bdev_close(). Signed-off-by: Shuhei Matsumoto Change-Id: Ib3b5c72be06e764918da30d7aa9fbc2ccd33956e Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12125 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/bdev/bdev.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/bdev/bdev.c b/lib/bdev/bdev.c index b95bfb714..73d919381 100644 --- a/lib/bdev/bdev.c +++ b/lib/bdev/bdev.c @@ -6521,15 +6521,15 @@ spdk_bdev_close(struct spdk_bdev_desc *desc) if (bdev->internal.status == SPDK_BDEV_STATUS_REMOVING && TAILQ_EMPTY(&bdev->internal.open_descs)) { rc = bdev_unregister_unsafe(bdev); pthread_mutex_unlock(&bdev->internal.mutex); - pthread_mutex_unlock(&g_bdev_mgr.mutex); if (rc == 0) { spdk_io_device_unregister(__bdev_to_io_dev(bdev), bdev_destroy_cb); } } else { pthread_mutex_unlock(&bdev->internal.mutex); - pthread_mutex_unlock(&g_bdev_mgr.mutex); } + + pthread_mutex_unlock(&g_bdev_mgr.mutex); } int