lvol: read lvols names on lvol store tasting
Change-Id: Ie66a5339c424200ce0fd322baebc6a6a82ac1ed4 Signed-off-by: Maciej Szwed <maciej.szwed@intel.com> Reviewed-on: https://review.gerrithub.io/386687 Reviewed-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
parent
14d58c05f6
commit
5024207221
@ -148,6 +148,9 @@ _spdk_load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
|
||||
struct spdk_lvol *lvol, *tmp;
|
||||
spdk_blob_id blob_id;
|
||||
char uuid[UUID_STRING_LEN];
|
||||
const char *attr;
|
||||
size_t value_len;
|
||||
int rc;
|
||||
|
||||
if (lvolerrno == -ENOENT) {
|
||||
/* Finished iterating */
|
||||
@ -197,6 +200,18 @@ _spdk_load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno)
|
||||
return;
|
||||
}
|
||||
|
||||
rc = spdk_bs_md_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");
|
||||
req->cb_fn(req->cb_arg, lvs, -EINVAL);
|
||||
free(lvol->old_name);
|
||||
free(req);
|
||||
free(lvol);
|
||||
return;
|
||||
}
|
||||
|
||||
strncpy(lvol->name, attr, SPDK_LVOL_NAME_MAX);
|
||||
|
||||
TAILQ_INSERT_TAIL(&lvs->lvols, lvol, link);
|
||||
|
||||
lvs->lvol_count++;
|
||||
|
@ -1056,18 +1056,21 @@ lvols_load(void)
|
||||
SPDK_CU_ASSERT_FATAL(blob1 != NULL);
|
||||
blob1->id = 0x1;
|
||||
spdk_blob_md_set_xattr(blob1, "uuid", uuid, UUID_STRING_LEN);
|
||||
spdk_blob_md_set_xattr(blob1, "name", "lvol1", strnlen("lvol1", SPDK_LVOL_NAME_MAX) + 1);
|
||||
blob1->uuid[UUID_STRING_LEN - 2] = '1';
|
||||
|
||||
blob2 = calloc(1, sizeof(*blob2));
|
||||
SPDK_CU_ASSERT_FATAL(blob2 != NULL);
|
||||
blob2->id = 0x2;
|
||||
spdk_blob_md_set_xattr(blob2, "uuid", uuid, UUID_STRING_LEN);
|
||||
spdk_blob_md_set_xattr(blob2, "name", "lvol2", strnlen("lvol2", SPDK_LVOL_NAME_MAX) + 1);
|
||||
blob2->uuid[UUID_STRING_LEN - 2] = '2';
|
||||
|
||||
blob3 = calloc(1, sizeof(*blob3));
|
||||
SPDK_CU_ASSERT_FATAL(blob3 != NULL);
|
||||
blob3->id = 0x2;
|
||||
spdk_blob_md_set_xattr(blob2, "uuid", uuid, UUID_STRING_LEN);
|
||||
spdk_blob_md_set_xattr(blob3, "name", "lvol3", strnlen("lvol3", SPDK_LVOL_NAME_MAX) + 1);
|
||||
blob3->uuid[UUID_STRING_LEN - 2] = '3';
|
||||
|
||||
spdk_allocate_thread(_lvol_send_msg, NULL, NULL);
|
||||
@ -1143,18 +1146,21 @@ lvol_open(void)
|
||||
SPDK_CU_ASSERT_FATAL(blob1 != NULL);
|
||||
blob1->id = 0x1;
|
||||
spdk_blob_md_set_xattr(blob1, "uuid", uuid, UUID_STRING_LEN);
|
||||
spdk_blob_md_set_xattr(blob1, "name", "lvol1", strnlen("lvol1", SPDK_LVOL_NAME_MAX) + 1);
|
||||
blob1->uuid[UUID_STRING_LEN - 2] = '1';
|
||||
|
||||
blob2 = calloc(1, sizeof(*blob2));
|
||||
SPDK_CU_ASSERT_FATAL(blob2 != NULL);
|
||||
blob2->id = 0x2;
|
||||
spdk_blob_md_set_xattr(blob2, "uuid", uuid, UUID_STRING_LEN);
|
||||
spdk_blob_md_set_xattr(blob2, "name", "lvol2", strnlen("lvol2", SPDK_LVOL_NAME_MAX) + 1);
|
||||
blob2->uuid[UUID_STRING_LEN - 2] = '2';
|
||||
|
||||
blob3 = calloc(1, sizeof(*blob3));
|
||||
SPDK_CU_ASSERT_FATAL(blob3 != NULL);
|
||||
blob3->id = 0x2;
|
||||
spdk_blob_md_set_xattr(blob2, "uuid", uuid, UUID_STRING_LEN);
|
||||
spdk_blob_md_set_xattr(blob3, "name", "lvol3", strnlen("lvol3", SPDK_LVOL_NAME_MAX) + 1);
|
||||
blob3->uuid[UUID_STRING_LEN - 2] = '3';
|
||||
|
||||
spdk_allocate_thread(_lvol_send_msg, NULL, NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user