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?