Commit b4bcf772 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

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: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ib3b5c72be06e764918da30d7aa9fbc2ccd33956e
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12125


Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent ced08048
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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