mirror of
https://github.com/torvalds/linux.git
synced 2026-07-27 17:47:41 +02:00
md: skip redundant raid_disks update when value is unchanged
Calling update_raid_disks() with the same value as the current one can trigger unnecessary work. For example, RAID1 will reallocate resources such as the mempool for r1bio. Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> Link: https://patch.msgid.link/20260428130524.448063-1-abd.masalkhi@gmail.com Signed-off-by: Yu Kuai <yukuai@fygo.io>
This commit is contained in:
parent
1d24d4c1ea
commit
abaf478382
|
|
@ -4414,9 +4414,10 @@ raid_disks_store(struct mddev *mddev, const char *buf, size_t len)
|
|||
err = mddev_suspend_and_lock(mddev);
|
||||
if (err)
|
||||
return err;
|
||||
if (mddev->pers)
|
||||
err = update_raid_disks(mddev, n);
|
||||
else if (mddev->reshape_position != MaxSector) {
|
||||
if (mddev->pers) {
|
||||
if (n != mddev->raid_disks)
|
||||
err = update_raid_disks(mddev, n);
|
||||
} else if (mddev->reshape_position != MaxSector) {
|
||||
struct md_rdev *rdev;
|
||||
int olddisks = mddev->raid_disks - mddev->delta_disks;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user