lib/blob: add _spdk_bs_cluster_to_extent_page() for easy conversion

Signed-off-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: I3e49c398d9bdf9f4eacba65061cc7fe4b300fb56
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479963
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
Tomasz Zawadzki 2020-01-10 05:30:08 -05:00
parent 59f7f3f736
commit 1b23560fcd

View File

@ -518,6 +518,24 @@ _spdk_bs_back_dev_lba_to_io_unit(struct spdk_blob *blob, uint64_t lba)
return lba * (blob->back_bs_dev->blocklen / blob->bs->io_unit_size);
}
static inline uint64_t
_spdk_bs_cluster_to_extent_table_id(uint64_t cluster_num)
{
return cluster_num / SPDK_EXTENTS_PER_EP;
}
static inline uint32_t *
_spdk_bs_cluster_to_extent_page(struct spdk_blob *blob, uint64_t cluster_num)
{
uint64_t extent_table_id = _spdk_bs_cluster_to_extent_table_id(cluster_num);
if (extent_table_id >= blob->active.extent_pages_array_size) {
return NULL;
}
return &blob->active.extent_pages[extent_table_id];
}
/* End basic conversions */
static inline uint64_t