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

Commit 6f287ca6 authored by Guoqing Jiang's avatar Guoqing Jiang Committed by Shaohua Li
Browse files

md/raid10: reset the 'first' at the end of loop



We need to set "first = 0' at the end of rdev_for_each
loop, so we can get the array's min_offset_diff correctly
otherwise min_offset_diff just means the last rdev's
offset diff.

Suggested-by: default avatarNeilBrown <neilb@suse.com>
Signed-off-by: default avatarGuoqing Jiang <gqjiang@suse.com>
Reviewed-by: default avatarNeilBrown <neilb@suse.com>
Signed-off-by: default avatarShaohua Li <shli@fb.com>
parent 7471fb77
Loading
Loading
Loading
Loading
+2 −0
Original line number Original line Diff line number Diff line
@@ -3769,6 +3769,7 @@ static int raid10_run(struct mddev *mddev)


		if (blk_queue_discard(bdev_get_queue(rdev->bdev)))
		if (blk_queue_discard(bdev_get_queue(rdev->bdev)))
			discard_supported = true;
			discard_supported = true;
		first = 0;
	}
	}


	if (mddev->queue) {
	if (mddev->queue) {
@@ -4172,6 +4173,7 @@ static int raid10_start_reshape(struct mddev *mddev)
			if (first || diff < min_offset_diff)
			if (first || diff < min_offset_diff)
				min_offset_diff = diff;
				min_offset_diff = diff;
		}
		}
		first = 0;
	}
	}


	if (max(before_length, after_length) > min_offset_diff)
	if (max(before_length, after_length) > min_offset_diff)