diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c index eea9379f7fae..521bf2605f82 100644 --- a/drivers/md/raid5.c +++ b/drivers/md/raid5.c @@ -3062,7 +3062,7 @@ static void analyse_stripe(struct stripe_head *sh, struct stripe_head_state *s) } } else if (test_bit(In_sync, &rdev->flags)) set_bit(R5_Insync, &dev->flags); - else { + else if (!test_bit(Faulty, &rdev->flags)) { /* in sync if before recovery_offset */ if (sh->sector + STRIPE_SECTORS <= rdev->recovery_offset) set_bit(R5_Insync, &dev->flags);