From 3e372f35c31e96e982c0f732d1e43d75a93b0eda Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Tue, 10 Sep 2019 03:21:03 -0400 Subject: [PATCH] lib/blob: rename extents to extents_rle In future patches new type of extents will be added, for compatibility the current extent type will be still handled in the code. To signify the difference between those two types, current type is renamed to SPDK_MD_DESCRIPTOR_TYPE_EXTENT_RLE. Along with any variables throughout the code, to make it clear which ones are used. There are no functional changes in this patch. Signed-off-by: Tomasz Zawadzki Change-Id: I7186ccc452d200036188abf1dcea9660dcedee72 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/468230 Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/blob/blobstore.c | 94 ++++++++++++++++++++++---------------------- lib/blob/blobstore.h | 4 +- 2 files changed, 49 insertions(+), 49 deletions(-) diff --git a/lib/blob/blobstore.c b/lib/blob/blobstore.c index 1179c870c..147b59852 100644 --- a/lib/blob/blobstore.c +++ b/lib/blob/blobstore.c @@ -474,23 +474,23 @@ _spdk_blob_parse_page(const struct spdk_blob_md_page *page, struct spdk_blob *bl blob->data_ro_flags = desc_flags->data_ro_flags; blob->md_ro_flags = desc_flags->md_ro_flags; - } else if (desc->type == SPDK_MD_DESCRIPTOR_TYPE_EXTENT) { - struct spdk_blob_md_descriptor_extent *desc_extent; + } else if (desc->type == SPDK_MD_DESCRIPTOR_TYPE_EXTENT_RLE) { + struct spdk_blob_md_descriptor_extent_rle *desc_extent_rle; unsigned int i, j; unsigned int cluster_count = blob->active.num_clusters; - desc_extent = (struct spdk_blob_md_descriptor_extent *)desc; + desc_extent_rle = (struct spdk_blob_md_descriptor_extent_rle *)desc; - if (desc_extent->length == 0 || - (desc_extent->length % sizeof(desc_extent->extents[0]) != 0)) { + if (desc_extent_rle->length == 0 || + (desc_extent_rle->length % sizeof(desc_extent_rle->extents[0]) != 0)) { return -EINVAL; } - for (i = 0; i < desc_extent->length / sizeof(desc_extent->extents[0]); i++) { - for (j = 0; j < desc_extent->extents[i].length; j++) { - if (desc_extent->extents[i].cluster_idx != 0) { + for (i = 0; i < desc_extent_rle->length / sizeof(desc_extent_rle->extents[0]); i++) { + for (j = 0; j < desc_extent_rle->extents[i].length; j++) { + if (desc_extent_rle->extents[i].cluster_idx != 0) { if (!spdk_bit_array_get(blob->bs->used_clusters, - desc_extent->extents[i].cluster_idx + j)) { + desc_extent_rle->extents[i].cluster_idx + j)) { return -EINVAL; } } @@ -508,11 +508,11 @@ _spdk_blob_parse_page(const struct spdk_blob_md_page *page, struct spdk_blob *bl blob->active.clusters = tmp; blob->active.cluster_array_size = cluster_count; - for (i = 0; i < desc_extent->length / sizeof(desc_extent->extents[0]); i++) { - for (j = 0; j < desc_extent->extents[i].length; j++) { - if (desc_extent->extents[i].cluster_idx != 0) { + for (i = 0; i < desc_extent_rle->length / sizeof(desc_extent_rle->extents[0]); i++) { + for (j = 0; j < desc_extent_rle->extents[i].length; j++) { + if (desc_extent_rle->extents[i].cluster_idx != 0) { blob->active.clusters[blob->active.num_clusters++] = _spdk_bs_cluster_to_lba(blob->bs, - desc_extent->extents[i].cluster_idx + j); + desc_extent_rle->extents[i].cluster_idx + j); } else if (spdk_blob_is_thin_provisioned(blob)) { blob->active.clusters[blob->active.num_clusters++] = 0; } else { @@ -673,24 +673,24 @@ _spdk_blob_serialize_xattr(const struct spdk_xattr *xattr, } static void -_spdk_blob_serialize_extent(const struct spdk_blob *blob, - uint64_t start_cluster, uint64_t *next_cluster, - uint8_t *buf, size_t buf_sz) +_spdk_blob_serialize_extent_rle(const struct spdk_blob *blob, + uint64_t start_cluster, uint64_t *next_cluster, + uint8_t *buf, size_t buf_sz) { - struct spdk_blob_md_descriptor_extent *desc; + struct spdk_blob_md_descriptor_extent_rle *desc_extent_rle; size_t cur_sz; uint64_t i, extent_idx; uint64_t lba, lba_per_cluster, lba_count; /* The buffer must have room for at least one extent */ - cur_sz = sizeof(struct spdk_blob_md_descriptor) + sizeof(desc->extents[0]); + cur_sz = sizeof(struct spdk_blob_md_descriptor) + sizeof(desc_extent_rle->extents[0]); if (buf_sz < cur_sz) { *next_cluster = start_cluster; return; } - desc = (struct spdk_blob_md_descriptor_extent *)buf; - desc->type = SPDK_MD_DESCRIPTOR_TYPE_EXTENT; + desc_extent_rle = (struct spdk_blob_md_descriptor_extent_rle *)buf; + desc_extent_rle->type = SPDK_MD_DESCRIPTOR_TYPE_EXTENT_RLE; lba_per_cluster = _spdk_bs_cluster_to_lba(blob->bs, 1); @@ -705,15 +705,15 @@ _spdk_blob_serialize_extent(const struct spdk_blob *blob, lba_count += lba_per_cluster; continue; } - desc->extents[extent_idx].cluster_idx = lba / lba_per_cluster; - desc->extents[extent_idx].length = lba_count / lba_per_cluster; + desc_extent_rle->extents[extent_idx].cluster_idx = lba / lba_per_cluster; + desc_extent_rle->extents[extent_idx].length = lba_count / lba_per_cluster; extent_idx++; - cur_sz += sizeof(desc->extents[extent_idx]); + cur_sz += sizeof(desc_extent_rle->extents[extent_idx]); if (buf_sz < cur_sz) { /* If we ran out of buffer space, return */ - desc->length = sizeof(desc->extents[0]) * extent_idx; + desc_extent_rle->length = sizeof(desc_extent_rle->extents[0]) * extent_idx; *next_cluster = i; return; } @@ -722,29 +722,29 @@ _spdk_blob_serialize_extent(const struct spdk_blob *blob, lba_count = lba_per_cluster; } - desc->extents[extent_idx].cluster_idx = lba / lba_per_cluster; - desc->extents[extent_idx].length = lba_count / lba_per_cluster; + desc_extent_rle->extents[extent_idx].cluster_idx = lba / lba_per_cluster; + desc_extent_rle->extents[extent_idx].length = lba_count / lba_per_cluster; extent_idx++; - desc->length = sizeof(desc->extents[0]) * extent_idx; + desc_extent_rle->length = sizeof(desc_extent_rle->extents[0]) * extent_idx; *next_cluster = blob->active.num_clusters; return; } static int -_spdk_blob_serialize_extents(const struct spdk_blob *blob, - struct spdk_blob_md_page **pages, - struct spdk_blob_md_page *cur_page, - uint32_t *page_count, uint8_t **buf, - size_t *remaining_sz) +_spdk_blob_serialize_extents_rle(const struct spdk_blob *blob, + struct spdk_blob_md_page **pages, + struct spdk_blob_md_page *cur_page, + uint32_t *page_count, uint8_t **buf, + size_t *remaining_sz) { uint64_t last_cluster; int rc; last_cluster = 0; while (last_cluster < blob->active.num_clusters) { - _spdk_blob_serialize_extent(blob, last_cluster, &last_cluster, *buf, *remaining_sz); + _spdk_blob_serialize_extent_rle(blob, last_cluster, &last_cluster, *buf, *remaining_sz); if (last_cluster == blob->active.num_clusters) { break; @@ -881,7 +881,7 @@ _spdk_blob_serialize(const struct spdk_blob *blob, struct spdk_blob_md_page **pa } /* Serialize extents */ - rc = _spdk_blob_serialize_extents(blob, pages, cur_page, page_count, &buf, &remaining_sz); + rc = _spdk_blob_serialize_extents_rle(blob, pages, cur_page, page_count, &buf, &remaining_sz); return rc; } @@ -3030,17 +3030,17 @@ _spdk_bs_load_replay_md_parse_page(const struct spdk_blob_md_page *page, struct /* If padding and length are 0, this terminates the page */ break; } - } else if (desc->type == SPDK_MD_DESCRIPTOR_TYPE_EXTENT) { - struct spdk_blob_md_descriptor_extent *desc_extent; + } else if (desc->type == SPDK_MD_DESCRIPTOR_TYPE_EXTENT_RLE) { + struct spdk_blob_md_descriptor_extent_rle *desc_extent_rle; unsigned int i, j; unsigned int cluster_count = 0; uint32_t cluster_idx; - desc_extent = (struct spdk_blob_md_descriptor_extent *)desc; + desc_extent_rle = (struct spdk_blob_md_descriptor_extent_rle *)desc; - for (i = 0; i < desc_extent->length / sizeof(desc_extent->extents[0]); i++) { - for (j = 0; j < desc_extent->extents[i].length; j++) { - cluster_idx = desc_extent->extents[i].cluster_idx; + for (i = 0; i < desc_extent_rle->length / sizeof(desc_extent_rle->extents[0]); i++) { + for (j = 0; j < desc_extent_rle->extents[i].length; j++) { + cluster_idx = desc_extent_rle->extents[i].cluster_idx; /* * cluster_idx = 0 means an unallocated cluster - don't mark that * in the used cluster map. @@ -3459,20 +3459,20 @@ _spdk_bs_dump_print_md_page(struct spdk_bs_dump_ctx *ctx) /* If padding and length are 0, this terminates the page */ break; } - } else if (desc->type == SPDK_MD_DESCRIPTOR_TYPE_EXTENT) { - struct spdk_blob_md_descriptor_extent *desc_extent; + } else if (desc->type == SPDK_MD_DESCRIPTOR_TYPE_EXTENT_RLE) { + struct spdk_blob_md_descriptor_extent_rle *desc_extent_rle; unsigned int i; - desc_extent = (struct spdk_blob_md_descriptor_extent *)desc; + desc_extent_rle = (struct spdk_blob_md_descriptor_extent_rle *)desc; - for (i = 0; i < desc_extent->length / sizeof(desc_extent->extents[0]); i++) { - if (desc_extent->extents[i].cluster_idx != 0) { + for (i = 0; i < desc_extent_rle->length / sizeof(desc_extent_rle->extents[0]); i++) { + if (desc_extent_rle->extents[i].cluster_idx != 0) { fprintf(ctx->fp, "Allocated Extent - Start: %" PRIu32, - desc_extent->extents[i].cluster_idx); + desc_extent_rle->extents[i].cluster_idx); } else { fprintf(ctx->fp, "Unallocated Extent - "); } - fprintf(ctx->fp, " Length: %" PRIu32, desc_extent->extents[i].length); + fprintf(ctx->fp, " Length: %" PRIu32, desc_extent_rle->extents[i].length); fprintf(ctx->fp, "\n"); } } else if (desc->type == SPDK_MD_DESCRIPTOR_TYPE_XATTR) { diff --git a/lib/blob/blobstore.h b/lib/blob/blobstore.h index 3ee23a891..32b46df6e 100644 --- a/lib/blob/blobstore.h +++ b/lib/blob/blobstore.h @@ -242,7 +242,7 @@ struct spdk_bs_md_mask { }; #define SPDK_MD_DESCRIPTOR_TYPE_PADDING 0 -#define SPDK_MD_DESCRIPTOR_TYPE_EXTENT 1 +#define SPDK_MD_DESCRIPTOR_TYPE_EXTENT_RLE 1 #define SPDK_MD_DESCRIPTOR_TYPE_XATTR 2 #define SPDK_MD_DESCRIPTOR_TYPE_FLAGS 3 #define SPDK_MD_DESCRIPTOR_TYPE_XATTR_INTERNAL 4 @@ -258,7 +258,7 @@ struct spdk_blob_md_descriptor_xattr { /* String name immediately followed by string value. */ }; -struct spdk_blob_md_descriptor_extent { +struct spdk_blob_md_descriptor_extent_rle { uint8_t type; uint32_t length;