diff --git a/drivers/md/md.c b/drivers/md/md.c index 8668793262d099b8334a7c5d23c8a3076de98153..85459c17cc60ca99bc5470d2df8c54b4324617a8 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -1776,6 +1776,10 @@ static int super_1_validate(struct mddev *mddev, struct md_rdev *rdev) } else set_bit(In_sync, &rdev->flags); rdev->raid_disk = role; + if (role >= mddev->raid_disks) { + rdev->saved_raid_disk = -1; + rdev->raid_disk = -1; + } break; } if (sb->devflags & WriteMostly1)