bdev/ocssd: Consolidate num_zones() calls in bdev_ocssd_init_zones()

Cache the return value of bdev_ocssd_num_zones() in bdev_ocssd_init_zones()
to improve readability.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: If71b40221694e512617389da03720211744f3b5c
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5128
Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
This commit is contained in:
Shuhei Matsumoto 2020-11-16 12:12:31 +09:00 committed by Tomasz Zawadzki
parent 7e4b8d79a4
commit 729f7ec516

View File

@ -1101,19 +1101,20 @@ bdev_ocssd_init_zones(struct bdev_ocssd_create_ctx *create_ctx)
{
struct ocssd_bdev *ocssd_bdev = create_ctx->ocssd_bdev;
struct bdev_ocssd_ns *ocssd_ns = bdev_ocssd_get_ns_from_bdev(ocssd_bdev);
struct spdk_bdev *bdev = &ocssd_bdev->nvme_bdev.disk;
uint64_t offset;
uint64_t offset, num_zones;
ocssd_bdev->zones = calloc(bdev_ocssd_num_zones(ocssd_bdev), sizeof(*ocssd_bdev->zones));
num_zones = bdev_ocssd_num_zones(ocssd_bdev);
ocssd_bdev->zones = calloc(num_zones, sizeof(*ocssd_bdev->zones));
if (!ocssd_bdev->zones) {
return -ENOMEM;
}
create_ctx->chunk_offset = ocssd_bdev->range.begin * ocssd_ns->geometry.num_chk;
create_ctx->end_chunk_offset = create_ctx->chunk_offset + bdev->blockcnt / bdev->zone_size;
create_ctx->end_chunk_offset = create_ctx->chunk_offset + num_zones;
/* Mark all zones as busy and clear it as their info is filled */
for (offset = 0; offset < bdev_ocssd_num_zones(ocssd_bdev); ++offset) {
for (offset = 0; offset < num_zones; ++offset) {
ocssd_bdev->zones[offset].busy = true;
}