Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

2 messages, 2 authors, 2015-03-27 · open the first message on its own page

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

From: Andrew Morton <hidden>
Date: 2015-03-27 08:35:16

On Fri, 27 Mar 2015 01:18:22 -0700 Christoph Hellwig [off-list ref] wrote:
On Thu, Mar 26, 2015 at 08:28:24PM -0700, Andrew Morton wrote:
quoted
I still don't understand why pwritev() exists.  We discussed this last
time but it seems nothing has changed.  I'm not seeing here an adequate
description of why it exists nor a justification for its addition.
pwritev2?  I have patches to support per-I/O O_DSYNC with it, lots of
folks including Samba and SCSI targets want this because their protocols
support it.  The patches were posted with earlier versions of Miklos
series.

It's cleaner to add the two system calls in go when we plan using them
anyway and have symmetric infrastructure, and I did not hear any
disagreement with that on LSF.  Did you skip this session?
Put it in the changelogs.  All of it.  A conference discussion
is no use to people who weren't there.
quoted
And (again) we've discussed this before, but the patchset gets resent
as if nothing had happened.
We had long discussiosn about it both here and at LSF.  We had everyone
agree and nod there, and only your repeated argument here, so maybe it's
not Miklos who is disonnected but you?
I don't find conferences to be a good place to conduct code and design
review.
Also that whole fincore argument is rather hypothetic - it's only been
pushed in to ugly to live multiplexers that also expose things like
pfns,  while with preadv2 we have a trivial and easy to use API read to
merge, and various consumerms just waiting for it.
fincore() doesn't have to be ugly.  Please address the design issues I
raised.  How is pread2() useful to the class of applications which
cannot proceed until all data is available?

Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)

From: Christoph Hellwig <hch@infradead.org>
Date: 2015-03-27 08:48:33

On Fri, Mar 27, 2015 at 01:35:16AM -0700, Andrew Morton wrote:
fincore() doesn't have to be ugly.  Please address the design issues I
raised.  How is pread2() useful to the class of applications which
cannot proceed until all data is available?
It actually makes them work correctly?  preadv2( ..., DONTWAIT) will
return -EGAIN, which causes them to bounce to the threadpool where
they call preadv(...).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help