On Thu, 26 Nov 2009 08:13:59 +1100 Neil Brown <neilb@xxxxxxx> wrote: > On Wed, 25 Nov 2009 21:22:57 +0100 > Jiri Slaby <jirislaby@xxxxxxxxx> wrote: > > > It doesn't make sense at all. How can empty merge cause a regression? > > And md/for-next doesn't produce the BUG. > > I've hit that situation before. Two separate changes in separate > branches conspire to cause a problem. > > md/for-next contains code to handle barriers properly for all levels, > not just RAID1. > It is possible I got this wrong in some way, and some new sanity check > in a separate branch is firing, or it is possible some other bug in > barrier handling has been added and now that MD sends barriers, it is > being triggered. And it looks like I did get it wrong in some way. I handled a barrier by: - send an empty barrier to each component - schedule to write with the barrier flag cleared - send another empty barrier If an empty barrier is received, step 2 sends an empty non-barrier, which caused the BUG. I have revised the code to special case empty barriers and only perform the first step. This should appear in the next -next. Thanks, NeilBrown -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html