]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
md/raid10: skip spare disk as 'first' disk
authorShaohua Li <shli@fb.com>
Mon, 1 May 2017 19:15:07 +0000 (12:15 -0700)
committerSasha Levin <alexander.levin@microsoft.com>
Wed, 23 May 2018 01:33:50 +0000 (21:33 -0400)
[ 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 <gqjiang@suse.com>
Cc: NeilBrown <neilb@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
drivers/md/raid10.c

index 4cbc3df79a2a73f022b938bcf7193e93d69c837a..f23f56b178019d74b55adc868b1f699169f3f0c2 100644 (file)
@@ -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;
                }
        }