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 14:02:19 +0200 |
| |
> > > basically like PageWriteback(), but for read-in. > > > > OK it could be done, possibly at great pain. But why is it important? > > Maybe not that great if mark all readahead pages as, well, readahead, > and do the same for readpage (essnetially it is the same).
It isn't that easy. Readahead (->readpages()) is best effort, and is allowed to not bring the page uptodate, since it will be retried with ->readpage(). I don't know whether any filesystems actually do that, but it's allowed nonetheless.
> > What's the use case where it matters that splice-in should not block > > on the read? > > To be able to transfer what was already read?
That needs the consumer to be non-blocking...
Umm, one more reason why the ->confirm() stuff is currently busted: pipe_read() will block on such a buffer even if pipe file is marked O_NONBLOCK. Fixing that would take a hell of a lot of added complexity in pipe_poll(), etc...
Miklos
| |