From: Shaohua Li Date: Mon, 1 May 2017 19:15:07 +0000 (-0700) Subject: md/raid10: skip spare disk as 'first' disk X-Git-Tag: v4.12-rc1~121^2^2 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=b506335e5d2b4ec687dde392a3bdbf7601778f1d;p=linux.git md/raid10: skip spare disk as 'first' disk Commit 6f287ca(md/raid10: reset the 'first' at the end of loop) ignores a case in reshape, the first rdev could be a spare disk, which shouldn't be accounted as the first disk since it doesn't include the offset info. Fix: 6f287ca(md/raid10: reset the 'first' at the end of loop) Cc: Guoqing Jiang Cc: NeilBrown Signed-off-by: Shaohua Li --- diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 2883b720a265..cce23be9cc93 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -4079,8 +4079,8 @@ static int raid10_start_reshape(struct mddev *mddev) diff = 0; if (first || diff < min_offset_diff) min_offset_diff = diff; + first = 0; } - first = 0; } if (max(before_length, after_length) > min_offset_diff)