Commit 72f6c808 authored by Tomasz Zawadzki's avatar Tomasz Zawadzki
Browse files

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: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Id9dec7f0a292cbb52da8196bfc77679fc0f49d8b
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/478976


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarPaul Luse <paul.e.luse@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
parent 91dac0f4
Loading
Loading
Loading
Loading
+21 −1
Original line number Diff line number Diff line
@@ -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();