From aaca23fb4b7b1ba06ca32b92cfa37e8aa0d17028 Mon Sep 17 00:00:00 2001 From: Sochin Jiang Date: Fri, 15 May 2020 10:17:57 +0800 Subject: [PATCH] lvol: let thin_provision flag be consistent with Blob I found this flag weird while debugging a lvol with thin provisioned Blob, so make it consistent with it's Blob. Signed-off-by: Sochin Jiang Change-Id: Iae555020d5781dfcf4d4f072a47e9573d35b8705 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2435 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Xiaodong Liu Reviewed-by: Ben Walker --- lib/lvol/lvol.c | 1 + test/unit/lib/lvol/lvol.c/lvol_ut.c | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/lib/lvol/lvol.c b/lib/lvol/lvol.c index 579e33b2d..906b451b3 100644 --- a/lib/lvol/lvol.c +++ b/lib/lvol/lvol.c @@ -199,6 +199,7 @@ _spdk_load_next_lvol(void *cb_arg, struct spdk_blob *blob, int lvolerrno) lvol->blob = blob; lvol->blob_id = blob_id; lvol->lvol_store = lvs; + lvol->thin_provision = spdk_blob_is_thin_provisioned(blob); rc = spdk_blob_get_xattr_value(blob, "uuid", (const void **)&attr, &value_len); if (rc != 0 || value_len != SPDK_UUID_STRING_LEN || attr[SPDK_UUID_STRING_LEN - 1] != '\0' || diff --git a/test/unit/lib/lvol/lvol.c/lvol_ut.c b/test/unit/lib/lvol/lvol.c/lvol_ut.c index 786981eff..72f7b6e81 100644 --- a/test/unit/lib/lvol/lvol.c/lvol_ut.c +++ b/test/unit/lib/lvol/lvol.c/lvol_ut.c @@ -231,6 +231,11 @@ spdk_blob_get_xattr_value(struct spdk_blob *blob, const char *name, return -ENOENT; } +bool spdk_blob_is_thin_provisioned(struct spdk_blob *blob) +{ + return blob->thin_provisioned; +} + DEFINE_STUB(spdk_blob_get_clones, int, (struct spdk_blob_store *bs, spdk_blob_id blobid, spdk_blob_id *ids, size_t *count), 0); DEFINE_STUB(spdk_bs_get_page_size, uint64_t, (struct spdk_blob_store *bs), BS_PAGE_SIZE);