Commit 729f7ec5 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

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: default avatarShuhei 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: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent 7e4b8d79
Loading
Loading
Loading
Loading
+6 −5
Original line number Diff line number Diff line
@@ -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;

	num_zones = bdev_ocssd_num_zones(ocssd_bdev);

	ocssd_bdev->zones = calloc(bdev_ocssd_num_zones(ocssd_bdev), sizeof(*ocssd_bdev->zones));
	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;
	}