Jeff Moyer wrote: > > Index: linux-2.6/mm/filemap.c > > =================================================================== > > --- linux-2.6.orig/mm/filemap.c 2008-10-03 11:21:31.000000000 +1000 > > +++ linux-2.6/mm/filemap.c 2008-10-03 12:00:17.000000000 +1000 > > @@ -1304,11 +1304,8 @@ generic_file_aio_read(struct kiocb *iocb > > goto out; /* skip atime */ > > size = i_size_read(inode); > > if (pos < size) { > > - retval = filemap_write_and_wait(mapping); > > - if (!retval) { > > - retval = mapping->a_ops->direct_IO(READ, iocb, > > + retval = mapping->a_ops->direct_IO(READ, iocb, > > iov, pos, nr_segs); > > - } > > So why is it safe to get rid of this? Can't this result in reading > stale data from disk? It seems that could be easily tested in one of the test suites, by writing a page without O_DIRECT to make a dirty page, then reading the same page with O_DIRECT. Do it a few times to be sure. Do the test suites verify O_DIRECT / page-cache coherency? Cheers, -- Jamie -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html