bdev/lvol: point directly to lvol->unique_id for bdev name

The lvol->unique_id will never change - so just point the
bdev->name directly to it.  That eliminates the need to
free bdev->name when cleaning up the bdev, and removes
an extra strdup.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I6547edb1fd4c248fba696c07326842b073d3716c

Reviewed-on: https://review.gerrithub.io/421408
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
Jim Harris 2018-08-02 15:51:33 -07:00
parent 1be2a279c3
commit 26628773d3

View File

@ -534,7 +534,6 @@ _vbdev_lvol_unregister_cb(void *ctx, int lvolerrno)
struct spdk_bdev *bdev = ctx;
spdk_bdev_destruct_done(bdev, lvolerrno);
free(bdev->name);
free(bdev);
}
@ -922,12 +921,7 @@ _create_lvol_disk(struct spdk_lvol *lvol)
return NULL;
}
bdev->name = strdup(lvol->unique_id);
if (!bdev->name) {
SPDK_ERRLOG("Cannot alloc memory for bdev name\n");
free(bdev);
return NULL;
}
bdev->name = lvol->unique_id;
bdev->product_name = "Logical Volume";
bdev->blocklen = spdk_bs_get_page_size(lvol->lvol_store->blobstore);
total_size = spdk_blob_get_num_clusters(lvol->blob) *
@ -943,7 +937,6 @@ _create_lvol_disk(struct spdk_lvol *lvol)
rc = spdk_vbdev_register(bdev, &lvs_bdev->bdev, 1);
if (rc) {
free(bdev->name);
free(bdev);
return NULL;
}
@ -951,7 +944,6 @@ _create_lvol_disk(struct spdk_lvol *lvol)
alias = spdk_sprintf_alloc("%s/%s", lvs_bdev->lvs->name, lvol->name);
if (alias == NULL) {
SPDK_ERRLOG("Cannot alloc memory for alias\n");
free(bdev->name);
free(bdev);
return NULL;
}
@ -959,7 +951,6 @@ _create_lvol_disk(struct spdk_lvol *lvol)
rc = spdk_bdev_alias_add(bdev, alias);
if (rc != 0) {
SPDK_ERRLOG("Cannot add alias to lvol bdev\n");
free(bdev->name);
free(bdev);
free(alias);
return NULL;