> > > > Let's start with page_cache_pipe_buf_confirm(). How should we deal > > with finding an invalidated page (!PageUptodate(page) && > > !page->mapping)? > > I suspect we just have to use it. After all, it was valid when the read > was done. The fact that it got invalidated later is kind of immaterial. Right. But what if it's invalidated *before* becoming uptodate (if you'd read my mail further, I discussed this). Why does invalidate_complete_page2() do ClearPageUptodate()? Dunno, maybe it shoulnd't. But that would need a rather thorough audit of all code checking PageUptodate()... > splice() is an optimized read+write. The read reads it into a temporary > buffer. The fact that it's a zero-copy buffer and basically just re-uses > the source doesn't really change that. Agreed. Miklos -- 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