linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Olga Kornievskaia <kolga@netapp.com>
To: "bfields@fieldses.org" <bfields@fieldses.org>
Cc: "hch@infradead.org" <hch@infradead.org>,
	Trond Myklebust <trondmy@primarydata.com>,
	"linux-nfs@vger.kernel.org" <linux-nfs@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>
Subject: Re: [RFC v1 01/19] fs: Don't copy beyond the end of the file
Date: Thu, 9 Mar 2017 12:35:05 -0500	[thread overview]
Message-ID: <B84A5666-1011-481E-828B-CB8E5E3FA77B@netapp.com> (raw)
In-Reply-To: <20170309161601.GC3929@fieldses.org>


> On Mar 9, 2017, at 11:16 AM, bfields@fieldses.org wrote:
> 
> On Thu, Mar 09, 2017 at 07:35:59AM -0800, hch@infradead.org wrote:
>> On Thu, Mar 09, 2017 at 10:29:48AM -0500, bfields@fieldses.org wrote:
>>> So I don't understand why it needed to be added to copy_file_range().
>>> The copy and clone semantics are different enough that I think callers
>>> want to know which they're getting.
>> 
>> Because if a file systems implements clone is literally is always better
>> than doing a copy loop, so using it is an absolute non-brainer.
> 
> I guess I'm just hung up on the EINVAL vs. short copy behavior.  It
> seems more annoying and error-prone to be prepared for both, as opposed
> to trying clone and then explicitly falling back to copy if that doesn't
> work.  Maybe it's not that big a deal.

I’m confused at which layer are we calling clone() and if we get EINVAL we call copy()? In VFS? Or are we talking about the case where there are two different system calls clone_file_range() and copy_file_range() that are provided to the “cp” and it calls one and then falls back onto another?

> 
>> They do, and the system call has been in the tree for almost a year and
>> a half, so we can't simply change it.  Fortunately we do have a flags
>> argument that can be used to implement your preferred semantics if you
>> care deeply enough about them.
> 
> Yeah.
> 
> There are also some other offset, length combinations that currently
> return -EINVAL, I wonder if any of those could be repurposed e.g. for a
> "keep copying to end of file" call.
> 
> --b.

      parent reply	other threads:[~2017-03-09 17:35 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20170302160123.30375-1-kolga@netapp.com>
     [not found] ` <20170302160123.30375-2-kolga@netapp.com>
     [not found]   ` <20170302162221.GA6854@infradead.org>
     [not found]     ` <20170303204747.GE13877@fieldses.org>
     [not found]       ` <4B2A2E86-AFC8-49EA-9D53-7A53AD824CF1@netapp.com>
     [not found]         ` <20170303213230.GF13877@fieldses.org>
     [not found]           ` <B3F80DA0-B4F8-4628-88C5-E5C047620F17@netapp.com>
     [not found]             ` <20170304021008.GB21609@fieldses.org>
     [not found]               ` <924FF7A2-27CD-4848-BD61-748758C2533F@netapp.com>
2017-03-06 19:23                 ` [RFC v1 01/19] Don't copy beyond the end of the file J. Bruce Fields
2017-03-07 14:18                   ` Olga Kornievskaia
     [not found]       ` <20170307234051.GA29977@infradead.org>
     [not found]         ` <20170308170521.GA1020@fieldses.org>
     [not found]           ` <20170308172549.GA32011@infradead.org>
     [not found]             ` <7FDA8E80-3C62-48BB-9E2B-195B4BA340C0@netapp.com>
2017-03-08 19:53               ` [RFC v1 01/19] fs: " J. Bruce Fields
2017-03-08 20:00                 ` Olga Kornievskaia
2017-03-08 20:18                   ` J. Bruce Fields
2017-03-08 20:18                   ` Trond Myklebust
2017-03-08 20:32                     ` bfields
2017-03-08 20:49                       ` Trond Myklebust
2017-03-09 15:29                         ` bfields
2017-03-09 15:35                           ` hch
2017-03-09 16:16                             ` bfields
2017-03-09 16:17                               ` hch
2017-03-09 17:28                                 ` Olga Kornievskaia
2017-03-09 18:40                                   ` bfields
2017-03-09 21:55                                   ` hch
2017-03-09 17:35                               ` Olga Kornievskaia [this message]

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=B84A5666-1011-481E-828B-CB8E5E3FA77B@netapp.com \
    --to=kolga@netapp.com \
    --cc=bfields@fieldses.org \
    --cc=hch@infradead.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=trondmy@primarydata.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).