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: Shuhei Matsumoto <smatsumoto@nvidia.com> Change-Id: Ie99d8686897f1249f48ef8985cb1c8347028fccf Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16283 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com> Reviewed-by: Artur Paszkiewicz <artur.paszkiewicz@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
This commit is contained in:
parent
c9224e267d
commit
723b1c5021
@ -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) <<
|
||||
raid_bdev->strip_size_shift) * raid_bdev->num_base_bdevs;
|
||||
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user