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.1.52~414 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bfc44e986e19a71e708245f1684934d299709cae;p=thirdparty%2Fkernel%2Fstable.git md/raid10: skip spare disk as 'first' disk [ Upstream commit b506335e5d2b4ec687dde392a3bdbf7601778f1d ] 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 Signed-off-by: Sasha Levin --- diff --git a/drivers/md/raid10.c b/drivers/md/raid10.c index 4cbc3df79a2a7..f23f56b178019 100644 --- a/drivers/md/raid10.c +++ b/drivers/md/raid10.c @@ -4110,6 +4110,7 @@ static int raid10_start_reshape(struct mddev *mddev) diff = 0; if (first || diff < min_offset_diff) min_offset_diff = diff; + first = 0; } }