According to TJ Harrell: > I don't know the details of how writing works in the code. I do know that > consecutive writes must be issued to both disks, though. This means that > there is a concievable time when one disk is written to and one is not, > making the array unclean. I'm assuming that this is the reason that the > array is marked unclean during a write. If you disable this, I would bet > that it will create a race condition where you may read from a disk before > it is written to and get old data. This would probably cause data > corruption, no? Not when going through the buffer/page cache, which acts as a syncpoint. If you write a page to disk, it is first put in the pagecache as "dirty" page. Once the write is complete (meaning both disks have written it) the page is marked as clean. If some other process wants to read the same data from disk, it will go through the buffer/page cache and get the data from the (dirty or in the mean time clean) page that is there already. It won't go behind the buffer/pagecache's back to read the data straight from disk ... Think about it - all writes to disk-like devices are queued, so if this didn't happen you'd have that problem all the time. So the code in there isn't about preventing that at all. It is really checking for 'is there a rebuild in progress' but it simply gets that wrong .. Mike. - 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