On Fri, Mar 02, 2012 at 08:19:59AM -0800, Curt Wohlgemuth wrote: > We can clear PageWriteback on each page when the IO > completes, but we can't release the references on the page > until we convert any uninitialized extents. > > Without this patch, the use of the dioread_nolock mount > option can break buffered writes, because extents may > not be converted by the time a subsequent buffered read > comes in; if the page is not in the page cache, a read > will return zeros if the extent is still uninitialized. > > I tested this with a (temporary) patch that adds a call > to msleep(1000) at the start of ext4_end_io_work(), to delay > processing of each DIO-unwritten work queue item. With this > msleep(), a simple workload of > > fallocate > write > fadvise > read > > will fail without this patch, succeeds with it. > > Signed-off-by: Curt Wohlgemuth <curtw@xxxxxxxxxx> Thanks, applied. - Ted -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html