All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
To: Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
Cc: Milosz Tanski <milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org>,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-aio-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org,
	Mel Gorman <mgorman-l3A5Bk7waGM@public.gmane.org>,
	Volker Lendecke
	<Volker.Lendecke-3ekOc4rQMZmzQB+pC5nmwQ@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Jeff Moyer <jmoyer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Theodore Ts'o <tytso-3s7WtUTddSA@public.gmane.org>,
	Al Viro <viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org>,
	linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Michael Kerrisk
	<mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Dave Chinner <david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org>
Subject: Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)
Date: Fri, 27 Mar 2015 01:35:16 -0700	[thread overview]
Message-ID: <20150327013516.8c6788be.akpm@linux-foundation.org> (raw)
In-Reply-To: <20150327081822.GA28669-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>

On Fri, 27 Mar 2015 01:18:22 -0700 Christoph Hellwig <hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org> wrote:

> On Thu, Mar 26, 2015 at 08:28:24PM -0700, Andrew Morton wrote:
> > 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.

> > 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?

WARNING: multiple messages have this Message-ID (diff)
From: Andrew Morton <akpm@linux-foundation.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: Milosz Tanski <milosz@adfin.com>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	linux-aio@kvack.org, Mel Gorman <mgorman@suse.de>,
	Volker Lendecke <Volker.Lendecke@sernet.de>,
	Tejun Heo <tj@kernel.org>, Jeff Moyer <jmoyer@redhat.com>,
	Theodore Ts'o <tytso@mit.edu>, Al Viro <viro@zeniv.linux.org.uk>,
	linux-api@vger.kernel.org,
	Michael Kerrisk <mtk.manpages@gmail.com>,
	linux-arch@vger.kernel.org, Dave Chinner <david@fromorbit.com>
Subject: Re: [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only)
Date: Fri, 27 Mar 2015 01:35:16 -0700	[thread overview]
Message-ID: <20150327013516.8c6788be.akpm@linux-foundation.org> (raw)
Message-ID: <20150327083516.sdWZqu3AtpWGIpdMMgiUBTNMP5CYZ5SfiJHQwrdl9Xo@z> (raw)
In-Reply-To: <20150327081822.GA28669@infradead.org>

On Fri, 27 Mar 2015 01:18:22 -0700 Christoph Hellwig <hch@infradead.org> wrote:

> On Thu, Mar 26, 2015 at 08:28:24PM -0700, Andrew Morton wrote:
> > 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.

> > 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?



  parent reply	other threads:[~2015-03-27  8:35 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-16 18:27 [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only) Milosz Tanski
2015-03-16 18:27 ` [PATCH v7 1/5] vfs: Prepare for adding a new preadv/pwritev with user flags Milosz Tanski
2015-03-16 18:27   ` Milosz Tanski
2015-03-16 21:05   ` Andreas Dilger
2015-03-16 21:05     ` Andreas Dilger
2015-03-16 18:27 ` [PATCH v7 2/5] vfs: Define new syscalls preadv2,pwritev2 Milosz Tanski
2015-03-16 18:27   ` Milosz Tanski
2015-03-16 18:27 ` [PATCH v7 3/5] x86: wire up preadv2 and pwritev2 Milosz Tanski
2015-03-16 18:27   ` Milosz Tanski
2015-03-16 18:27 ` [PATCH v7 4/5] vfs: RWF_NONBLOCK flag for preadv2 Milosz Tanski
2015-03-16 18:27   ` Milosz Tanski
2015-03-16 18:27 ` [PATCH v7 5/5] xfs: add RWF_NONBLOCK support Milosz Tanski
2015-03-16 18:27   ` Milosz Tanski
2015-03-16 22:04   ` Dave Chinner
2015-03-16 18:32 ` [PATCH] Add preadv2/pwritev2 documentation Milosz Tanski
2015-03-27 16:49   ` Andrew Morton
     [not found]     ` <20150327094932.31b5c9fc.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2015-03-30  7:33       ` Christoph Hellwig
2015-03-30  7:33         ` Christoph Hellwig
2015-03-26 11:55 ` [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only) Christoph Hellwig
2015-03-26 11:55   ` Christoph Hellwig
2015-03-26 19:12   ` Milosz Tanski
2015-03-26 19:12     ` Milosz Tanski
2015-03-27  2:26     ` Milosz Tanski
2015-03-27  2:29     ` Milosz Tanski
2015-03-27  2:29       ` Milosz Tanski
     [not found] ` <cover.1426528417.git.milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org>
2015-03-16 18:34   ` [PATCH] fstests: generic test for preadv2 behavior on linux Milosz Tanski
2015-03-16 18:34     ` Milosz Tanski
2015-03-16 21:07     ` Andreas Dilger
2015-03-16 21:07       ` Andreas Dilger
2015-03-16 22:03       ` Milosz Tanski
2015-03-16 22:02     ` Dave Chinner
2015-03-16 22:02       ` Dave Chinner
2015-03-16 22:11       ` Milosz Tanski
     [not found]         ` <CANP1eJEj2buvwaU-jum=GROowY6DrysQ0NU+weXstn=83yVspQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-16 22:56           ` Dave Chinner
2015-03-16 22:56             ` Dave Chinner
2015-03-27  3:28   ` [PATCH v7 0/5] vfs: Non-blockling buffered fs read (page cache only) Andrew Morton
2015-03-27  3:28     ` Andrew Morton
2015-03-27  5:41     ` Volker Lendecke
2015-03-27  5:41       ` Volker Lendecke
     [not found]       ` <E1YbN1J-0084qO-3s-dqLtpHMqGvUyWpdLl23E4A@public.gmane.org>
2015-03-27  6:08         ` Andrew Morton
2015-03-27  6:08           ` Andrew Morton
     [not found]           ` <20150326230833.4ccfaebb.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2015-03-27  8:02             ` Volker Lendecke
2015-03-27  8:02               ` Volker Lendecke
2015-03-27  8:12               ` Christoph Hellwig
2015-03-27  8:18     ` Christoph Hellwig
2015-03-27  8:18       ` Christoph Hellwig
     [not found]       ` <20150327081822.GA28669-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-03-27  8:35         ` Andrew Morton [this message]
2015-03-27  8:35           ` Andrew Morton
2015-03-27  8:48           ` Christoph Hellwig
     [not found]             ` <20150327084833.GA7689-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-03-27  9:01               ` Andrew Morton
2015-03-27  9:01                 ` Andrew Morton
2015-03-27  9:44                 ` Volker Lendecke
2015-03-27 15:58                 ` Jeremy Allison
2015-03-27 15:58                   ` Jeremy Allison
2015-03-27 16:30                   ` Andrew Morton
2015-03-27 16:30                     ` Andrew Morton
2015-03-27 16:30                     ` Andrew Morton
2015-03-27 16:30                     ` Andrew Morton
2015-03-27 16:39                     ` Jeremy Allison
2015-03-27 16:39                       ` Jeremy Allison
2015-03-27 16:39                     ` Andrew Morton
2015-03-27 16:45                     ` Milosz Tanski
2015-03-31  1:27                     ` Milosz Tanski
2015-03-27 16:38                   ` Milosz Tanski
2015-03-27 16:38                     ` Milosz Tanski
2015-03-30  7:36                   ` Christoph Hellwig
     [not found]                     ` <20150330073604.GB22229-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>
2015-03-30 17:19                       ` Jeremy Allison
2015-03-30 17:19                         ` Jeremy Allison
2015-03-30 22:51                         ` Milosz Tanski
2015-03-30 20:26                     ` Andrew Morton
2015-03-30 20:26                       ` Andrew Morton
2015-03-30 20:32                       ` Jeremy Allison
2015-03-30 20:37                         ` Andrew Morton
2015-03-30 20:49                           ` Jeremy Allison
2015-03-30 21:33                             ` Andrew Morton
2015-03-30 22:35                           ` Milosz Tanski
2015-03-30 22:49                         ` Milosz Tanski
2015-03-30 22:57                           ` Andrew Morton
     [not found]                             ` <20150330155700.92f4c8a0bf13418aaf01ae04-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2015-03-30 23:06                               ` Milosz Tanski
2015-03-30 23:06                                 ` Milosz Tanski
2015-03-30 23:25                       ` Milosz Tanski
2015-04-04  3:42                       ` Andrew Morton
     [not found]                         ` <20150403204209.75405f37.akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>
2015-04-06  3:53                           ` Milosz Tanski
2015-04-06  3:53                             ` Milosz Tanski
2015-03-30 23:09                     ` Milosz Tanski
2015-03-27 15:21     ` Milosz Tanski
2015-03-27 15:21       ` Milosz Tanski
2015-03-27 17:04       ` Andrew Morton
2015-03-30  7:40         ` Christoph Hellwig
2015-03-30  7:40           ` Christoph Hellwig
2015-03-30 18:54           ` Andrew Morton
2015-03-30 22:40             ` Milosz Tanski
     [not found]               ` <CANP1eJH4BcZ0vgZ6pZdKOd4orEzfKUqjpKXb3m=WMy0mbK+PFA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-03-30 22:50                 ` Andrew Morton
2015-03-30 22:50                   ` Andrew Morton

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150327013516.8c6788be.akpm@linux-foundation.org \
    --to=akpm-de/tnxtf+jlsfhdxvbkv3wd2fqjk+8+b@public.gmane.org \
    --cc=Volker.Lendecke-3ekOc4rQMZmzQB+pC5nmwQ@public.gmane.org \
    --cc=david-FqsqvQoI3Ljby3iVrkZq2A@public.gmane.org \
    --cc=hch-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \
    --cc=jmoyer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \
    --cc=linux-aio-Bw31MaZKKs3YtjvyW6yDsg@public.gmane.org \
    --cc=linux-api-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-fsdevel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mgorman-l3A5Bk7waGM@public.gmane.org \
    --cc=milosz-B5zB6C1i6pkAvxtiuMwx3w@public.gmane.org \
    --cc=mtk.manpages-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=tytso-3s7WtUTddSA@public.gmane.org \
    --cc=viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.