OSDN Git Service

md/raid10: skip spare disk as 'first' disk
authorShaohua Li <shli@fb.com>
Mon, 1 May 2017 19:15:07 +0000 (12:15 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 24 Mar 2018 09:58:45 +0000 (10:58 +0100)
[ 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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/raid10.c

index 05548af..3a0d557 100644 (file)
@@ -4044,6 +4044,7 @@ static int raid10_start_reshape(struct mddev *mddev)
                                diff = 0;
                        if (first || diff < min_offset_diff)
                                min_offset_diff = diff;
+                       first = 0;
                }
        }