From a70a00099798d46196f34930bb3773471813910a Mon Sep 17 00:00:00 2001 From: Sebastian Basierski Date: Thu, 21 Dec 2017 10:50:52 +0100 Subject: [PATCH] bdev: Renamed lvol->old_name to lvol->unique_id Also added vbdev_get_lvol_by_unique_id function. Change-Id: I55a64df008c23c0fedb8a59ef67e2c356097e780 Signed-off-by: Sebastian Basierski Reviewed-on: https://review.gerrithub.io/392658 Reviewed-by: Tomasz Zawadzki Tested-by: SPDK Automated Test System Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Daniel Verkamp --- include/spdk_internal/lvolstore.h | 2 +- lib/bdev/lvol/vbdev_lvol.c | 26 +++++++------- lib/lvol/lvol.c | 36 +++++++++---------- .../lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c | 20 +++++------ 4 files changed, 42 insertions(+), 42 deletions(-) diff --git a/include/spdk_internal/lvolstore.h b/include/spdk_internal/lvolstore.h index fd5f92f1a..b1189f6a4 100644 --- a/include/spdk_internal/lvolstore.h +++ b/include/spdk_internal/lvolstore.h @@ -99,7 +99,7 @@ struct spdk_lvol { struct spdk_blob *blob; uint64_t num_clusters; spdk_blob_id blob_id; - char *old_name; + char *unique_id; char name[SPDK_LVOL_NAME_MAX]; bool close_only; struct spdk_bdev *bdev; diff --git a/lib/bdev/lvol/vbdev_lvol.c b/lib/bdev/lvol/vbdev_lvol.c index f9113a6c5..ded727ac9 100644 --- a/lib/bdev/lvol/vbdev_lvol.c +++ b/lib/bdev/lvol/vbdev_lvol.c @@ -368,7 +368,7 @@ vbdev_get_lvol_store_by_name(const char *name) } static struct spdk_lvol * -vbdev_get_lvol_by_name(const char *name) +vbdev_get_lvol_by_unique_id(const char *name) { struct spdk_lvol *lvol, *tmp_lvol; struct lvol_store_bdev *lvs_bdev, *tmp_lvs_bdev; @@ -378,7 +378,7 @@ vbdev_get_lvol_by_name(const char *name) continue; } TAILQ_FOREACH_SAFE(lvol, &lvs_bdev->lvs->lvols, link, tmp_lvol) { - if (!strcmp(lvol->old_name, name)) { + if (!strcmp(lvol->unique_id, name)) { return lvol; } } @@ -427,14 +427,14 @@ _vbdev_lvol_destroy_after_close_cb(void *cb_arg, int lvserrno) struct spdk_bdev *bdev = lvol->bdev; if (lvserrno != 0) { - SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Could not close Lvol %s\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Could not close Lvol %s\n", lvol->unique_id); spdk_bdev_unregister_done(bdev, lvserrno); free(bdev->name); free(bdev); return; } - SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Lvol %s closed, begin destroying\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Lvol %s closed, begin destroying\n", lvol->unique_id); spdk_lvol_destroy(lvol, _vbdev_lvol_destroy_cb, bdev); } @@ -659,13 +659,13 @@ _create_lvol_disk(struct spdk_lvol *lvol) uint64_t total_size; int rc; - if (!lvol->old_name) { + if (!lvol->unique_id) { return NULL; } lvs_bdev = vbdev_get_lvs_bdev_by_lvs(lvol->lvol_store); if (lvs_bdev == NULL) { - SPDK_ERRLOG("No spdk lvs-bdev pair found for lvol %s\n", lvol->old_name); + SPDK_ERRLOG("No spdk lvs-bdev pair found for lvol %s\n", lvol->unique_id); return NULL; } @@ -765,7 +765,7 @@ vbdev_lvol_resize(char *name, size_t sz, uint64_t cluster_size; int rc; - lvol = vbdev_get_lvol_by_name(name); + lvol = vbdev_get_lvol_by_unique_id(name); if (lvol == NULL) { SPDK_ERRLOG("lvol '%s' does not exist\n", name); return -ENODEV; @@ -816,29 +816,29 @@ _vbdev_lvs_examine_finish(void *cb_arg, struct spdk_lvol *lvol, int lvolerrno) struct spdk_bdev *bdev; if (lvolerrno != 0) { - SPDK_ERRLOG("Error opening lvol %s\n", lvol->old_name); + SPDK_ERRLOG("Error opening lvol %s\n", lvol->unique_id); TAILQ_REMOVE(&lvs->lvols, lvol, link); lvs->lvol_count--; - free(lvol->old_name); + free(lvol->unique_id); free(lvol); goto end; } bdev = _create_lvol_disk(lvol); if (bdev == NULL) { - SPDK_ERRLOG("Cannot create bdev for lvol %s\n", lvol->old_name); + SPDK_ERRLOG("Cannot create bdev for lvol %s\n", lvol->unique_id); TAILQ_REMOVE(&lvs->lvols, lvol, link); lvs->lvol_count--; spdk_blob_close(lvol->blob, _vbdev_lvol_close_cb, lvs); - SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Opening lvol %s failed\n", lvol->old_name); - free(lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Opening lvol %s failed\n", lvol->unique_id); + free(lvol->unique_id); free(lvol); return; } lvol->bdev = bdev; lvs->lvols_opened++; - SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Opening lvol %s succeeded\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_VBDEV_LVOL, "Opening lvol %s succeeded\n", lvol->unique_id); end: diff --git a/lib/lvol/lvol.c b/lib/lvol/lvol.c index 17a58ef1c..06de1bcb5 100644 --- a/lib/lvol/lvol.c +++ b/lib/lvol/lvol.c @@ -88,7 +88,7 @@ _spdk_lvol_open_cb(void *cb_arg, struct spdk_blob *blob, int lvolerrno) struct spdk_lvol *lvol = req->lvol; if (lvolerrno != 0) { - SPDK_INFOLOG(SPDK_LOG_LVOL, "Failed to open lvol %s\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_LVOL, "Failed to open lvol %s\n", lvol->unique_id); goto end; } @@ -192,8 +192,8 @@ _spdk_load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno) lvol->num_clusters = spdk_blob_get_num_clusters(blob); lvol->close_only = false; uuid_unparse(lvol->lvol_store->uuid, uuid); - lvol->old_name = spdk_sprintf_alloc("%s_%"PRIu64, uuid, (uint64_t)blob_id); - if (!lvol->old_name) { + lvol->unique_id = spdk_sprintf_alloc("%s_%"PRIu64, uuid, (uint64_t)blob_id); + if (!lvol->unique_id) { SPDK_ERRLOG("Cannot assign lvol name\n"); free(lvol); req->lvserrno = -ENOMEM; @@ -203,7 +203,7 @@ _spdk_load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno) rc = spdk_blob_get_xattr_value(blob, "name", (const void **)&attr, &value_len); if (rc != 0 || value_len > SPDK_LVOL_NAME_MAX) { SPDK_ERRLOG("Cannot assign lvol name\n"); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); req->lvserrno = -EINVAL; goto invalid; @@ -215,7 +215,7 @@ _spdk_load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno) lvs->lvol_count++; - SPDK_INFOLOG(SPDK_LOG_LVOL, "added lvol %s\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_LVOL, "added lvol %s\n", lvol->unique_id); spdk_bs_iter_next(bs, blob, _spdk_load_next_lvol, req); @@ -224,7 +224,7 @@ _spdk_load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno) invalid: TAILQ_FOREACH_SAFE(lvol, &lvs->lvols, link, tmp) { TAILQ_REMOVE(&lvs->lvols, lvol, link); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); } @@ -641,7 +641,7 @@ spdk_lvs_unload(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, TAILQ_FOREACH_SAFE(lvol, &lvs->lvols, link, tmp) { TAILQ_REMOVE(&lvs->lvols, lvol, link); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); } @@ -723,7 +723,7 @@ spdk_lvs_destroy(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, } TAILQ_FOREACH_SAFE(iter_lvol, &lvs->lvols, link, tmp) { - free(iter_lvol->old_name); + free(iter_lvol->unique_id); free(iter_lvol); } @@ -753,7 +753,7 @@ _spdk_lvol_close_blob_cb(void *cb_arg, int lvolerrno) if (lvolerrno < 0) { SPDK_ERRLOG("Could not close blob on lvol\n"); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); goto end; } @@ -768,7 +768,7 @@ _spdk_lvol_close_blob_cb(void *cb_arg, int lvolerrno) lvol->action_in_progress = false; - SPDK_INFOLOG(SPDK_LOG_LVOL, "Lvol %s closed\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_LVOL, "Lvol %s closed\n", lvol->unique_id); if (lvol->lvol_store->destruct_req && all_lvols_closed == true) { if (!lvol->lvol_store->destruct) { @@ -790,7 +790,7 @@ _spdk_lvol_delete_blob_cb(void *cb_arg, int lvolerrno) if (lvolerrno < 0) { SPDK_ERRLOG("Could not delete blob on lvol\n"); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); goto end; } @@ -803,9 +803,9 @@ _spdk_lvol_delete_blob_cb(void *cb_arg, int lvolerrno) } } - SPDK_INFOLOG(SPDK_LOG_LVOL, "Lvol %s deleted\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_LVOL, "Lvol %s deleted\n", lvol->unique_id); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); end: @@ -824,14 +824,14 @@ _spdk_lvol_destroy_cb(void *cb_arg, int lvolerrno) if (lvolerrno < 0) { SPDK_ERRLOG("Could not delete blob on lvol\n"); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); lvol_req->cb_fn(lvol_req->cb_arg, lvolerrno); free(lvol_req); free(req); return; } - SPDK_INFOLOG(SPDK_LOG_LVOL, "Blob closed on lvol %s\n", lvol->old_name); + SPDK_INFOLOG(SPDK_LOG_LVOL, "Blob closed on lvol %s\n", lvol->unique_id); spdk_bs_delete_blob(bs, lvol->blob_id, _spdk_lvol_delete_blob_cb, req); } @@ -871,8 +871,8 @@ _spdk_lvol_create_open_cb(void *cb_arg, struct spdk_blob *blob, int lvolerrno) lvol->blob_id = blob_id; uuid_unparse(lvol->lvol_store->uuid, uuid); - lvol->old_name = spdk_sprintf_alloc("%s_%"PRIu64, uuid, (uint64_t)blob_id); - if (!lvol->old_name) { + lvol->unique_id = spdk_sprintf_alloc("%s_%"PRIu64, uuid, (uint64_t)blob_id); + if (!lvol->unique_id) { spdk_blob_close(blob, _spdk_lvol_delete_blob_cb, lvol); SPDK_ERRLOG("Cannot alloc memory for lvol name\n"); lvolerrno = -ENOMEM; @@ -1064,7 +1064,7 @@ spdk_lvol_destroy(struct spdk_lvol *lvol, spdk_lvol_op_complete cb_fn, void *cb_ } if (lvol->ref_count != 0) { - SPDK_ERRLOG("Cannot destroy lvol %s because it is still open\n", lvol->old_name); + SPDK_ERRLOG("Cannot destroy lvol %s because it is still open\n", lvol->unique_id); cb_fn(cb_arg, -EBUSY); return; } diff --git a/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c b/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c index 3662788d8..0ce971222 100644 --- a/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c +++ b/test/unit/lib/bdev/vbdev_lvol.c/vbdev_lvol_ut.c @@ -196,7 +196,7 @@ spdk_lvs_unload(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, void *c TAILQ_FOREACH_SAFE(lvol, &lvs->lvols, link, tmp) { TAILQ_REMOVE(&lvs->lvols, lvol, link); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); } g_lvol_store = NULL; @@ -219,7 +219,7 @@ spdk_lvs_destroy(struct spdk_lvol_store *lvs, spdk_lvs_op_complete cb_fn, TAILQ_FOREACH_SAFE(lvol, &lvs->lvols, link, tmp) { TAILQ_REMOVE(&lvs->lvols, lvol, link); - free(lvol->old_name); + free(lvol->unique_id); free(lvol); } g_lvol_store = NULL; @@ -307,7 +307,7 @@ spdk_lvol_destroy(struct spdk_lvol *lvol, spdk_lvol_op_complete cb_fn, void *cb_ } } g_lvol = NULL; - free(lvol->old_name); + free(lvol->unique_id); free(lvol); cb_fn(cb_arg, 0); @@ -443,8 +443,8 @@ _lvol_create(struct spdk_lvol_store *lvs) lvol->lvol_store = lvs; lvol->ref_count++; - lvol->old_name = spdk_sprintf_alloc("%s", "UNIT_TEST_UUID"); - SPDK_CU_ASSERT_FATAL(lvol->old_name != NULL); + lvol->unique_id = spdk_sprintf_alloc("%s", "UNIT_TEST_UUID"); + SPDK_CU_ASSERT_FATAL(lvol->unique_id != NULL); TAILQ_INSERT_TAIL(&lvol->lvol_store->lvols, lvol, link); @@ -703,11 +703,11 @@ ut_lvol_resize(void) g_base_bdev->ctxt = g_lvol; - g_base_bdev->name = spdk_sprintf_alloc("%s", g_lvol->old_name); + g_base_bdev->name = spdk_sprintf_alloc("%s", g_lvol->unique_id); SPDK_CU_ASSERT_FATAL(g_base_bdev->name != NULL); /* Successful lvol resize */ - rc = vbdev_lvol_resize(g_lvol->old_name, 20, vbdev_lvol_resize_complete, NULL); + rc = vbdev_lvol_resize(g_lvol->unique_id, 20, vbdev_lvol_resize_complete, NULL); CU_ASSERT(rc == 0); CU_ASSERT(g_base_bdev->blockcnt == 20 * g_cluster_size / g_base_bdev->blocklen); @@ -716,9 +716,9 @@ ut_lvol_resize(void) CU_ASSERT(rc != 0); /* Resize with correct bdev name, but wrong lvol name */ - free(g_lvol->old_name); - g_lvol->old_name = strdup("wrong name"); - SPDK_CU_ASSERT_FATAL(g_lvol->old_name != NULL); + free(g_lvol->unique_id); + g_lvol->unique_id = strdup("wrong name"); + SPDK_CU_ASSERT_FATAL(g_lvol->unique_id != NULL); rc = vbdev_lvol_resize(g_base_bdev->name, 20, vbdev_lvol_resize_complete, NULL); CU_ASSERT(rc != 0);