Commit c9402000 authored by Ben Walker's avatar Ben Walker Committed by Jim Harris
Browse files

thread: Add a name parameter to spdk_register_io_device



This is a string name used for debugging only.

Change-Id: I9827f0e6c83be7bc13951c7b5f0951ce6c2a1ece
Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-on: https://review.gerrithub.io/424127


Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
parent 49911660
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -291,9 +291,12 @@ void spdk_poller_unregister(struct spdk_poller **ppoller);
 * I/O channel.
 * \param ctx_size The size of the context buffer allocated to store references
 * to allocated I/O channel resources.
 * \param name A string name for the device used only for debugging. Optional -
 * may be NULL.
 */
void spdk_io_device_register(void *io_device, spdk_io_channel_create_cb create_cb,
			     spdk_io_channel_destroy_cb destroy_cb, uint32_t ctx_size);
			     spdk_io_channel_destroy_cb destroy_cb, uint32_t ctx_size,
			     const char *name);

/**
 * Unregister the opaque io_device context as an I/O device.
+4 −2
Original line number Diff line number Diff line
@@ -599,7 +599,8 @@ create_aio_disk(const char *name, const char *filename, uint32_t block_size)
	fdisk->disk.fn_table = &aio_fn_table;

	spdk_io_device_register(fdisk, bdev_aio_create_cb, bdev_aio_destroy_cb,
				sizeof(struct bdev_aio_io_channel));
				sizeof(struct bdev_aio_io_channel),
				fdisk->disk.name);
	rc = spdk_bdev_register(&fdisk->disk);
	if (rc) {
		spdk_io_device_unregister(fdisk, NULL);
@@ -664,7 +665,8 @@ bdev_aio_initialize(void)

	TAILQ_INIT(&g_aio_disk_head);
	spdk_io_device_register(&aio_if, bdev_aio_group_create_cb, bdev_aio_group_destroy_cb,
				sizeof(struct bdev_aio_group_channel));
				sizeof(struct bdev_aio_group_channel),
				"aio_module");

	sp = spdk_conf_find_section(NULL, "AIO");
	if (!sp) {
+16 −2
Original line number Diff line number Diff line
@@ -813,7 +813,8 @@ spdk_bdev_initialize(spdk_bdev_init_cb cb_fn, void *cb_arg)

	spdk_io_device_register(&g_bdev_mgr, spdk_bdev_mgmt_channel_create,
				spdk_bdev_mgmt_channel_destroy,
				sizeof(struct spdk_bdev_mgmt_channel));
				sizeof(struct spdk_bdev_mgmt_channel),
				"bdev_mgr");

	rc = spdk_bdev_modules_init();
	if (rc != 0) {
@@ -3036,6 +3037,8 @@ _spdk_bdev_qos_config(struct spdk_bdev *bdev)
static int
spdk_bdev_init(struct spdk_bdev *bdev)
{
	char *bdev_name;

	assert(bdev->module != NULL);

	if (!bdev->name) {
@@ -3048,6 +3051,14 @@ spdk_bdev_init(struct spdk_bdev *bdev)
		return -EEXIST;
	}

	/* Users often register their own I/O devices using the bdev name. In
	 * order to avoid conflicts, prepend bdev_. */
	bdev_name = spdk_sprintf_alloc("bdev_%s", bdev->name);
	if (!bdev_name) {
		SPDK_ERRLOG("Unable to allocate memory for internal bdev name.\n");
		return -ENOMEM;
	}

	bdev->internal.status = SPDK_BDEV_STATUS_READY;
	bdev->internal.measured_queue_depth = UINT64_MAX;

@@ -3061,7 +3072,10 @@ spdk_bdev_init(struct spdk_bdev *bdev)

	spdk_io_device_register(__bdev_to_io_dev(bdev),
				spdk_bdev_channel_create, spdk_bdev_channel_destroy,
				sizeof(struct spdk_bdev_channel));
				sizeof(struct spdk_bdev_channel),
				bdev_name);

	free(bdev_name);

	pthread_mutex_init(&bdev->internal.mutex, NULL);
	return 0;
+2 −1
Original line number Diff line number Diff line
@@ -613,7 +613,8 @@ create_iscsi_lun(struct iscsi_context *context, char *url, char *initiator_iqn,
	lun->bdev.fn_table = &iscsi_fn_table;

	spdk_io_device_register(lun, bdev_iscsi_create_cb, bdev_iscsi_destroy_cb,
				sizeof(struct bdev_iscsi_io_channel));
				sizeof(struct bdev_iscsi_io_channel),
				name);
	rc = spdk_bdev_register(&lun->bdev);
	if (rc) {
		spdk_io_device_unregister(lun, NULL);
+2 −1
Original line number Diff line number Diff line
@@ -291,7 +291,8 @@ bdev_null_initialize(void)
	 *  address of the global tailq.
	 */
	spdk_io_device_register(&g_null_bdev_head, null_bdev_create_cb, null_bdev_destroy_cb,
				sizeof(struct null_io_channel));
				sizeof(struct null_io_channel),
				"null_bdev");

	if (sp == NULL) {
		goto end;
Loading