All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Layton <jlayton@redhat.com>
To: Olga Kornievskaia <olga.kornievskaia@gmail.com>, willy@infradead.org
Cc: Amir Goldstein <amir73il@gmail.com>,
	viro@zeniv.linux.org.uk, linux-fsdevel@vger.kernel.org,
	linux-nfs <linux-nfs@vger.kernel.org>,
	fweimer@redhat.com, Steve French <smfrench@gmail.com>,
	"Darrick J. Wong" <darrick.wong@oracle.com>,
	Christoph Hellwig <hch@lst.de>,
	Linux API <linux-api@vger.kernel.org>
Subject: Re: [PATCH v1 02/11] VFS permit cross device vfs_copy_file_range
Date: Mon, 22 Oct 2018 19:39:01 -0400	[thread overview]
Message-ID: <a4a3ac1e840444871f3bc87606b111668c66618b.camel@redhat.com> (raw)
In-Reply-To: <CAN-5tyF=voE2=DBLKvJCHZc9+zMzysqD8REYYb-z5jwq2BLqGQ@mail.gmail.com>

On Mon, 2018-10-22 at 15:34 -0400, Olga Kornievskaia wrote:
> On Mon, Oct 22, 2018 at 3:06 PM Matthew Wilcox <willy@infradead.org> wrote:
> > 
> > On Mon, Oct 22, 2018 at 02:45:04PM -0400, Olga Kornievskaia wrote:
> > > On Sat, Oct 20, 2018 at 4:54 AM Amir Goldstein <amir73il@gmail.com> wrote:
> > > > Another thing is the commit message claims to:
> > > > "Allow copy_file_range to copy between different superblocks but only
> > > > of the same file system types"
> > > > 
> > > > But what the patch actually does is:
> > > > "Allow copy_file_range() syscall to copy between different filesystems
> > > > AND allow calling the filesystems' copy_file_range() method
> > > > between different superblocks but only of the same file system types"
> > > > 
> > > > It's probably OK and quite useful to do the former, but maybe man page
> > > > should be fixed to explicitly mention that the copy is expected to work
> > > > across filesystems since kernel version XXX (?)
> > > > 
> > > > If you don't wish to change cross filesystem type behavior and only
> > > > relax cross super block limitation, then you should replace the
> > > > same inode->i_sb check above with same inode->i_sb->s_type
> > > > check instead of doing the check only for calling the filesystem
> > > > copy_file_range() method.
> > > 
> > > Thank you for the feedback. In the next version, I will remove the
> > > check for the functions and instead check for the same file system
> > > types.
> > 
> > Jeff and I agree that this is the wrong way to go.  Instead, the
> > cross-device check should be in the individual instances, not the top
> > level code.
> 
> So remove the check all together for the VFS (that was my original
> patch to begin with (like #1 not this one). So am I missing the point
> again, I keep getting different corrections every time.

Sorry if I wasn't clear before:

Basically, I think Willy and I are both envisioning that some
copy_file_range implementations may eventually not be subject to the
limitations of the checks you're adding.

All of the current and currently proposed ones are however, so we need
these checks in place. We have two options. We can either do them
globally at the vfs layer or in the individual filesystem "drivers".

I argue that it's better to do it at the driver level, because if we
ever want to implement one that is not subject to these limitations,
you'll effectively have to push these checks down into the drivers
later.

That's where things become ugly for backports and such. You'll basically
be changing a subtle expectation in the driver interface, which could be
a source of bugs later. If we set the expectation now that the drivers
need to do this checking then we can (hopefully) ensure that they all do
before they're ever merged.
-- 
Jeff Layton <jlayton@redhat.com>

  parent reply	other threads:[~2018-10-23  7:59 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-19 15:30 [PATCH v1 01/11] fs: Don't copy beyond the end of the file Olga Kornievskaia
2018-10-19 15:30 ` [PATCH v1 02/11] VFS permit cross device vfs_copy_file_range Olga Kornievskaia
2018-10-19 15:54   ` Amir Goldstein
2018-10-19 16:14     ` Amir Goldstein
2018-10-19 17:44       ` Matthew Wilcox
2018-10-19 17:58         ` Amir Goldstein
2018-10-19 16:24     ` Olga Kornievskaia
2018-10-19 17:04       ` Olga Kornievskaia
2018-10-20  1:37       ` Steve French
2018-10-19 17:58   ` Matthew Wilcox
2018-10-19 18:47     ` Olga Kornievskaia
2018-10-19 19:06       ` Matthew Wilcox
2018-10-21 13:01         ` Jeff Layton
2018-10-22 18:39         ` Olga Kornievskaia
2018-10-21 14:10     ` Jeff Layton
2018-10-20  4:05   ` Al Viro
2018-10-20  8:54     ` Amir Goldstein
2018-10-22 18:45       ` Olga Kornievskaia
2018-10-22 19:06         ` Matthew Wilcox
2018-10-22 19:34           ` Olga Kornievskaia
2018-10-22 19:48             ` Amir Goldstein
2018-10-22 20:29               ` Matthew Wilcox
2018-10-22 23:39             ` Jeff Layton [this message]
2018-10-23  6:05               ` Amir Goldstein
2018-10-23 15:03                 ` Olga Kornievskaia
2018-10-23 15:30                   ` Olga Kornievskaia
2018-10-23 17:16                     ` Olga Kornievskaia
2018-10-24 11:17                       ` Jeff Layton
2018-10-24 19:59                         ` Olga Kornievskaia
2018-10-25  4:58                           ` Amir Goldstein
2018-10-25 15:58                             ` Olga Kornievskaia
2018-10-25 16:00                               ` Olga Kornievskaia
2018-10-25 16:57                                 ` Amir Goldstein
2018-10-23 15:39                   ` Matthew Wilcox
2018-10-24 11:32                     ` Amir Goldstein
  -- strict thread matches above, loose matches on Subject: below --
2018-10-19 15:29 [PATCH v1 00/11] client-side support for "inter" SSC copy Olga Kornievskaia
2018-10-19 15:29 ` [PATCH v1 02/11] VFS permit cross device vfs_copy_file_range Olga Kornievskaia
2018-10-19 16:14   ` Trond Myklebust
2018-10-19 16:14     ` Trond Myklebust
2018-10-19 16:26     ` Olga Kornievskaia

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=a4a3ac1e840444871f3bc87606b111668c66618b.camel@redhat.com \
    --to=jlayton@redhat.com \
    --cc=amir73il@gmail.com \
    --cc=darrick.wong@oracle.com \
    --cc=fweimer@redhat.com \
    --cc=hch@lst.de \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=olga.kornievskaia@gmail.com \
    --cc=smfrench@gmail.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=willy@infradead.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.