Commit 723b1c50 authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

bdev/raid0: Factor out block count calculation of raid0 bdev



Factor out block count calculation of raid0 bdev into a helper
function raid0_calculate_blockcnt(). This helper function will be used
to support resize in the following patches.

Signed-off-by: default avatarShuhei Matsumoto <smatsumoto@nvidia.com>
Change-Id: Ie99d8686897f1249f48ef8985cb1c8347028fccf
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16283


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: default avatarArtur Paszkiewicz <artur.paszkiewicz@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent c9224e26
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -344,8 +344,8 @@ raid0_submit_null_payload_request(struct raid_bdev_io *raid_io)
	}
}

static int
raid0_start(struct raid_bdev *raid_bdev)
static uint64_t
raid0_calculate_blockcnt(struct raid_bdev *raid_bdev)
{
	uint64_t min_blockcnt = UINT64_MAX;
	struct raid_base_bdev_info *base_info;
@@ -362,8 +362,15 @@ raid0_start(struct raid_bdev *raid_bdev)
	 */
	SPDK_DEBUGLOG(bdev_raid0, "min blockcount %" PRIu64 ",  numbasedev %u, strip size shift %u\n",
		      min_blockcnt, raid_bdev->num_base_bdevs, raid_bdev->strip_size_shift);
	raid_bdev->bdev.blockcnt = ((min_blockcnt >> raid_bdev->strip_size_shift) <<

	return ((min_blockcnt >> raid_bdev->strip_size_shift) <<
		raid_bdev->strip_size_shift)  * raid_bdev->num_base_bdevs;
}

static int
raid0_start(struct raid_bdev *raid_bdev)
{
	raid_bdev->bdev.blockcnt = raid0_calculate_blockcnt(raid_bdev);

	if (raid_bdev->num_base_bdevs > 1) {
		raid_bdev->bdev.optimal_io_boundary = raid_bdev->strip_size;