ut/blob: check for clone count in blob_snapshot UT

Previously this UT was only checking the snapshot counts.
This was correct, but since the blobs in this tests are
clones of each other - it would make sense to check it as well.

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Id9dec7f0a292cbb52da8196bfc77679fc0f49d8b
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478976
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
Tomasz Zawadzki 2019-12-31 06:52:29 -05:00
parent 91dac0f4d0
commit 72f6c8086a

View File

@ -585,6 +585,8 @@ blob_snapshot(void)
const void *value;
size_t value_len;
int rc;
spdk_blob_id ids[2];
size_t count;
dev = init_dev();
@ -683,6 +685,17 @@ blob_snapshot(void)
CU_ASSERT(value_len == strlen(g_xattr_values[2]));
CU_ASSERT_NSTRING_EQUAL((char *)value, g_xattr_values[2], value_len);
/* Confirm that blob is clone of snapshot2, and snapshot2 is clone of snapshot */
count = 2;
CU_ASSERT(spdk_blob_get_clones(bs, snapshotid2, ids, &count) == 0);
CU_ASSERT(count == 1);
CU_ASSERT(ids[0] == blobid);
count = 2;
CU_ASSERT(spdk_blob_get_clones(bs, snapshotid, ids, &count) == 0);
CU_ASSERT(count == 1);
CU_ASSERT(ids[0] == snapshotid2);
/* Try to create snapshot from snapshot */
spdk_bs_create_snapshot(bs, snapshotid, NULL, blob_op_with_id_complete, NULL);
poll_threads();
@ -690,6 +703,7 @@ blob_snapshot(void)
CU_ASSERT(g_blobid == SPDK_BLOBID_INVALID);
CU_ASSERT_EQUAL(_get_snapshots_count(bs), 2);
/* Delete blob and confirm that it is no longer on snapshot2 clone list */
spdk_blob_close(blob, blob_op_complete, NULL);
poll_threads();
CU_ASSERT(g_bserrno == 0);
@ -697,8 +711,11 @@ blob_snapshot(void)
spdk_bs_delete_blob(bs, blobid, blob_op_complete, NULL);
poll_threads();
CU_ASSERT(g_bserrno == 0);
CU_ASSERT_EQUAL(_get_snapshots_count(bs), 2);
count = 2;
CU_ASSERT(spdk_blob_get_clones(bs, snapshotid2, ids, &count) == 0);
CU_ASSERT(count == 0);
/* Delete snapshot2 and confirm that it is no longer on snapshot clone list */
spdk_blob_close(snapshot2, blob_op_complete, NULL);
poll_threads();
CU_ASSERT(g_bserrno == 0);
@ -707,6 +724,9 @@ blob_snapshot(void)
poll_threads();
CU_ASSERT(g_bserrno == 0);
CU_ASSERT_EQUAL(_get_snapshots_count(bs), 1);
count = 2;
CU_ASSERT(spdk_blob_get_clones(bs, snapshotid2, ids, &count) == 0);
CU_ASSERT(count == 0);
spdk_blob_close(snapshot, blob_op_complete, NULL);
poll_threads();