On Thu, 2009-08-27 at 18:18 +0300, Boaz Harrosh wrote: > >>> What you likely want is a way of telling that the page got re-written so > >>> you don't need to print out scary warning messages about parity > >>> problems. > >>> > >> > >> Maybe that is a start. I guess I could signal a fast abort for these. What > >> would be the cost for this knowledge. I guess O(sglist-size) right? loop > >> on all pages and check? Anything better we can do? > > > > I think it's a page flag indicating write begun on current page. it > > gets set when I/O is begun and reset if another write comes in in the > > meantime. Thus you can check before issue if this flag is set ... if it > > is, your digest is likely set. If not, you need to discard the page > > from the I/O (or redo the digest). > > > > Yes I thought so. The race here is bad so it will only eliminate some of > the bad transitions, not all. But surely mitigation is good enough? The array will block digest failures on its own ... we can recheck the flag when this happens to see if we lost the race so not print the messages. Winning this before issue race most of the time still gives good performance. James -- 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