bdev/ocssd: Factor out internal of bdev_ocssd_num_parallel_units()

Factor out the internal of bdev_ocssd_num_parallel_units() into an
new inline helper function ocssd_range_num_parallel_units(), and
apply the latter into a few functions.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I16550046ed2d6f543f66711810b30bd45f21c970
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5130
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com>
This commit is contained in:
Shuhei Matsumoto 2020-11-16 18:36:52 +09:00 committed by Tomasz Zawadzki
parent f90c6378a5
commit ddc03b4584

View File

@ -235,10 +235,16 @@ bdev_ocssd_destruct(void *ctx)
return 0;
}
static inline uint64_t
ocssd_range_num_parallel_units(const struct bdev_ocssd_range *range)
{
return range->end - range->begin + 1;
}
static uint64_t
bdev_ocssd_num_parallel_units(const struct ocssd_bdev *ocssd_bdev)
{
return ocssd_bdev->range.end - ocssd_bdev->range.begin + 1;
return ocssd_range_num_parallel_units(&ocssd_bdev->range);
}
static void
@ -261,12 +267,12 @@ bdev_ocssd_translate_lba(struct ocssd_bdev *ocssd_bdev, uint64_t lba, uint64_t *
*lbk = lba % geo->clba;
addr_shift = geo->clba;
punit = range->begin + (lba / addr_shift) % bdev_ocssd_num_parallel_units(ocssd_bdev);
punit = range->begin + (lba / addr_shift) % ocssd_range_num_parallel_units(range);
*pu = punit % geo->num_pu;
*grp = punit / geo->num_pu;
addr_shift *= bdev_ocssd_num_parallel_units(ocssd_bdev);
addr_shift *= ocssd_range_num_parallel_units(range);
*chk = (lba / addr_shift) % geo->num_chk;
}
@ -288,7 +294,7 @@ bdev_ocssd_from_disk_lba(struct ocssd_bdev *ocssd_bdev, uint64_t lba)
punit = grp * geometry->num_pu + pu - range->begin;
return lbk + punit * geometry->clba + chk * geometry->clba *
bdev_ocssd_num_parallel_units(ocssd_bdev);
ocssd_range_num_parallel_units(range);
}
static uint64_t