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

bdev: Factor out internal of spdk_bdev_open_ext() into a function



Factor out the internal of spdk_bdev_open_ext() into a function
bdev_open_ext(). Rename a unit test case by bdev_open_ext_test() to
avoid conflict(). bdev_open_ext() will be used to add
spdk_bdev_open_timeout().

Signed-off-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Iee9f5c83b1b3700feaa9ed16c77d55703731e61b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19357


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent f0c32ebb
Loading
Loading
Loading
Loading
+19 −12
Original line number Diff line number Diff line
@@ -7826,32 +7826,23 @@ bdev_desc_alloc(struct spdk_bdev *bdev, spdk_bdev_event_cb_t event_cb, void *eve
	return 0;
}

int
spdk_bdev_open_ext(const char *bdev_name, bool write, spdk_bdev_event_cb_t event_cb,
static int
bdev_open_ext(const char *bdev_name, bool write, spdk_bdev_event_cb_t event_cb,
	      void *event_ctx, struct spdk_bdev_desc **_desc)
{
	struct spdk_bdev_desc *desc;
	struct spdk_bdev *bdev;
	int rc;

	if (event_cb == NULL) {
		SPDK_ERRLOG("Missing event callback function\n");
		return -EINVAL;
	}

	spdk_spin_lock(&g_bdev_mgr.spinlock);

	bdev = bdev_get_by_name(bdev_name);

	if (bdev == NULL) {
		SPDK_NOTICELOG("Currently unable to find bdev with name: %s\n", bdev_name);
		spdk_spin_unlock(&g_bdev_mgr.spinlock);
		return -ENODEV;
	}

	rc = bdev_desc_alloc(bdev, event_cb, event_ctx, &desc);
	if (rc != 0) {
		spdk_spin_unlock(&g_bdev_mgr.spinlock);
		return rc;
	}

@@ -7863,6 +7854,22 @@ spdk_bdev_open_ext(const char *bdev_name, bool write, spdk_bdev_event_cb_t event

	*_desc = desc;

	return rc;
}

int
spdk_bdev_open_ext(const char *bdev_name, bool write, spdk_bdev_event_cb_t event_cb,
		   void *event_ctx, struct spdk_bdev_desc **_desc)
{
	int rc;

	if (event_cb == NULL) {
		SPDK_ERRLOG("Missing event callback function\n");
		return -EINVAL;
	}

	spdk_spin_lock(&g_bdev_mgr.spinlock);
	rc = bdev_open_ext(bdev_name, write, event_cb, event_ctx, _desc);
	spdk_spin_unlock(&g_bdev_mgr.spinlock);

	return rc;
+2 −2
Original line number Diff line number Diff line
@@ -4300,7 +4300,7 @@ bdev_close_while_hotremove(void)
}

static void
bdev_open_ext(void)
bdev_open_ext_test(void)
{
	struct spdk_bdev *bdev;
	struct spdk_bdev_desc *desc1 = NULL;
@@ -7231,7 +7231,7 @@ main(int argc, char **argv)
	CU_ADD_TEST(suite, bdev_zcopy_read);
	CU_ADD_TEST(suite, bdev_open_while_hotremove);
	CU_ADD_TEST(suite, bdev_close_while_hotremove);
	CU_ADD_TEST(suite, bdev_open_ext);
	CU_ADD_TEST(suite, bdev_open_ext_test);
	CU_ADD_TEST(suite, bdev_open_ext_unregister);
	CU_ADD_TEST(suite, bdev_set_io_timeout);
	CU_ADD_TEST(suite, bdev_set_qd_sampling);