Commit 8bcec341 authored by Daniel Nowak's avatar Daniel Nowak Committed by Konrad Sztyber
Browse files

module/bdev: No name duplication for FTL bdev



Verification of name duplication during ftl bdev creation. If name is duplicated, creation of ftl bdev is stopped at early stage.

Change-Id: Ia1eb5e5e5782df6a3ddd73b7af44b26a6f04d2c3
Signed-off-by: default avatarDaniel Nowak <daniel.nowak@solidigmtechnology.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24463


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarGangCao <gang.cao@intel.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarChangpeng Liu <changpeliu@tencent.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarMateusz Kozlowski <mateusz.kozlowski@solidigm.com>
parent 80c271ff
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -99,6 +99,14 @@ rpc_bdev_ftl_create(struct spdk_jsonrpc_request *request,
		conf.mode |= SPDK_FTL_MODE_CREATE;
	}

	if (spdk_bdev_get_by_name(conf.name) != NULL) {
		SPDK_ERRLOG("Bdev \"%s\" already exists", conf.name);
		spdk_jsonrpc_send_error_response_fmt(request, SPDK_JSONRPC_ERROR_INVALID_PARAMS,
						     "Failed to create FTL bdev: %s",
						     spdk_strerror(EEXIST));
		goto out;
	}

	rc = bdev_ftl_create_bdev(&conf, rpc_bdev_ftl_create_cb, request);
	if (rc == -ENODEV) {
		rc = bdev_ftl_defer_init(&conf);