Messages in this thread | | | Subject | Re: [rfc patch 3/4] splice: remove confirm from pipe_buf_operations | From | Miklos Szeredi <> | Date | Tue, 24 Jun 2008 21:24:21 +0200 |
| |
> > > > 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
| |