From ddc03b458402eebab6c2d04a2aa1267340b03b76 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Mon, 16 Nov 2020 18:36:52 +0900 Subject: [PATCH] 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 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 Reviewed-by: Aleksey Marchuk Reviewed-by: Tomasz Zawadzki --- module/bdev/nvme/bdev_ocssd.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/module/bdev/nvme/bdev_ocssd.c b/module/bdev/nvme/bdev_ocssd.c index aeaf18486..7543b24ad 100644 --- a/module/bdev/nvme/bdev_ocssd.c +++ b/module/bdev/nvme/bdev_ocssd.c @@ -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