Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f53e29fc authored by NeilBrown's avatar NeilBrown
Browse files

md/raid1: fix buglet in md_raid1_contested.



Since we added 'replacement' capability, RAID1 can have twice
as many devices as ->raid_disks indicates.
So md_raid1_congested needs to check that many possible devices,
not just ->raid_disks many.

Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent db91ff55
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -624,7 +624,7 @@ int md_raid1_congested(struct mddev *mddev, int bits)
		return 1;
		return 1;


	rcu_read_lock();
	rcu_read_lock();
	for (i = 0; i < conf->raid_disks; i++) {
	for (i = 0; i < conf->raid_disks * 2; i++) {
		struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
		struct md_rdev *rdev = rcu_dereference(conf->mirrors[i].rdev);
		if (rdev && !test_bit(Faulty, &rdev->flags)) {
		if (rdev && !test_bit(Faulty, &rdev->flags)) {
			struct request_queue *q = bdev_get_queue(rdev->bdev);
			struct request_queue *q = bdev_get_queue(rdev->bdev);