Thanks, Neil!!! Looks like this patch solves the issue. I applied it manually though, for some reason git refused to apply it. Thanks again for great help, Alex. On Tue, Dec 6, 2011 at 5:16 AM, NeilBrown <neilb@xxxxxxx> wrote: > On Sun, 27 Nov 2011 11:56:17 +0200 Alexander Lyakas <alex.bolshoy@xxxxxxxxx> > wrote: > >> Hello Neil, >> we have compiled the natty kernel with dynamic debugging enabled for >> raid456, and reproduced the problem. >> The kernel log is available at >> https://docs.google.com/open?id=0B9rmyUifdvMLMzk1YjYwZDUtYzhhYi00MDRlLTkzYjItMDM0Y2ZhZmU3ZDRk >> >> Some more information: >> - array was created at Nov 27 11:28:03 >> - manual drive failure was issued at 11:28:09 >> >> Please let me know if you need any additional information. >> > > Hi, > sorry for the long delay, I've had a lot of distractions this past week. > > I looks like you are hitting the bug fixed by upstream commit > 355840e7a7e56bb2834fd3b0da64da5465f8aeaa > > The symptoms are slightly different to those described in that commit but I'm > sure the root problem is the same. > > That patch doesn't apply to 2.6.38 though. > Use this one. > > NeilBrown > > diff --git a/drivers/md/raid5.c b/drivers/md/raid5.c > index 78536fd..8144126 100644 > --- a/drivers/md/raid5.c > +++ b/drivers/md/raid5.c > @@ -3086,7 +3086,7 @@ static void handle_stripe5(struct stripe_head *sh) > /* Not in-sync */; > else if (test_bit(In_sync, &rdev->flags)) > set_bit(R5_Insync, &dev->flags); > - else { > + else if (!test_bit(Faulty, &rdev->flags)) { > /* could be in-sync depending on recovery/reshape status */ > if (sh->sector + STRIPE_SECTORS <= rdev->recovery_offset) > set_bit(R5_Insync, &dev->flags); > @@ -3377,7 +3377,7 @@ static void handle_stripe6(struct stripe_head *sh) > /* Not in-sync */; > 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); -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html