From 7797da149d4622bbe803eaee6eaf22a7f62f44ab Mon Sep 17 00:00:00 2001 From: Yu Kuai Date: Fri, 29 Aug 2025 16:04:17 +0800 Subject: [PATCH] md: factor out a helper raid_is_456() There are no functional changes, the helper will be used by llbitmap in following patches. Link: https://lore.kernel.org/linux-raid/20250829080426.1441678-3-yukuai1@huaweicloud.com Signed-off-by: Yu Kuai Reviewed-by: Xiao Ni Reviewed-by: Christoph Hellwig Reviewed-by: Hannes Reinecke Reviewed-by: Li Nan --- drivers/md/md.c | 9 +-------- drivers/md/md.h | 6 ++++++ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/drivers/md/md.c b/drivers/md/md.c index 528c993964580..4bc35362f4d0a 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -9121,19 +9121,12 @@ static sector_t md_sync_position(struct mddev *mddev, enum sync_action action) static bool sync_io_within_limit(struct mddev *mddev) { - int io_sectors; - /* * For raid456, sync IO is stripe(4k) per IO, for other levels, it's * RESYNC_PAGES(64k) per IO. */ - if (mddev->level == 4 || mddev->level == 5 || mddev->level == 6) - io_sectors = 8; - else - io_sectors = 128; - return atomic_read(&mddev->recovery_active) < - io_sectors * sync_io_depth(mddev); + (raid_is_456(mddev) ? 8 : 128) * sync_io_depth(mddev); } #define SYNC_MARKS 10 diff --git a/drivers/md/md.h b/drivers/md/md.h index cadd9bc99938e..5ef73109d14d9 100644 --- a/drivers/md/md.h +++ b/drivers/md/md.h @@ -1033,6 +1033,12 @@ static inline bool mddev_is_dm(struct mddev *mddev) return !mddev->gendisk; } +static inline bool raid_is_456(struct mddev *mddev) +{ + return mddev->level == ID_RAID4 || mddev->level == ID_RAID5 || + mddev->level == ID_RAID6; +} + static inline void mddev_trace_remap(struct mddev *mddev, struct bio *bio, sector_t sector) { -- 2.47.3