Re: [rfc patch 3/4] splice: remove confirm frompipe_buf_operations

From: Miklos Szeredi
Date: Tue Jun 24 2008 - 15:24:43 EST


> >
> > 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-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/