bdev: Factor out bdev close operation from spdk_bdev_close()
Bdev open/close will be done for each bdev when traversing the bdev list. This patch is a preparation. Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: I2486bd823953fe020ed6106844877e1cf49d8a0d Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12126 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
b4bcf7721d
commit
941ca7e09e
@ -6475,20 +6475,11 @@ spdk_bdev_open_ext(const char *bdev_name, bool write, spdk_bdev_event_cb_t event
|
||||
return rc;
|
||||
}
|
||||
|
||||
void
|
||||
spdk_bdev_close(struct spdk_bdev_desc *desc)
|
||||
static void
|
||||
bdev_close(struct spdk_bdev *bdev, struct spdk_bdev_desc *desc)
|
||||
{
|
||||
struct spdk_bdev *bdev = spdk_bdev_desc_get_bdev(desc);
|
||||
int rc;
|
||||
|
||||
SPDK_DEBUGLOG(bdev, "Closing descriptor %p for bdev %s on thread %p\n", desc, bdev->name,
|
||||
spdk_get_thread());
|
||||
|
||||
assert(desc->thread == spdk_get_thread());
|
||||
|
||||
spdk_poller_unregister(&desc->io_timeout_poller);
|
||||
|
||||
pthread_mutex_lock(&g_bdev_mgr.mutex);
|
||||
pthread_mutex_lock(&bdev->internal.mutex);
|
||||
pthread_mutex_lock(&desc->mutex);
|
||||
|
||||
@ -6528,6 +6519,23 @@ spdk_bdev_close(struct spdk_bdev_desc *desc)
|
||||
} else {
|
||||
pthread_mutex_unlock(&bdev->internal.mutex);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
spdk_bdev_close(struct spdk_bdev_desc *desc)
|
||||
{
|
||||
struct spdk_bdev *bdev = spdk_bdev_desc_get_bdev(desc);
|
||||
|
||||
SPDK_DEBUGLOG(bdev, "Closing descriptor %p for bdev %s on thread %p\n", desc, bdev->name,
|
||||
spdk_get_thread());
|
||||
|
||||
assert(desc->thread == spdk_get_thread());
|
||||
|
||||
spdk_poller_unregister(&desc->io_timeout_poller);
|
||||
|
||||
pthread_mutex_lock(&g_bdev_mgr.mutex);
|
||||
|
||||
bdev_close(bdev, desc);
|
||||
|
||||
pthread_mutex_unlock(&g_bdev_mgr.mutex);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user