linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ric Wheeler <rwheeler@redhat.com>
To: "Myklebust, Trond" <Trond.Myklebust@netapp.com>
Cc: Ric Wheeler <rwheeler@redhat.com>,
	Linux FS Devel <linux-fsdevel@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"Chris L. Mason" <clmason@fusionio.com>,
	Christoph Hellwig <hch@infradead.org>,
	Alexander Viro <aviro@redhat.com>,
	"Martin K. Petersen" <mkp@mkp.net>,
	Hannes Reinecke <hare@suse.de>, Joel Becker <jlbec@evilplan.org>
Subject: Re: New copyfile system call - discuss before LSF?
Date: Thu, 21 Feb 2013 15:57:22 +0100	[thread overview]
Message-ID: <512635D2.4090207@redhat.com> (raw)
In-Reply-To: <4FA345DA4F4AE44899BD2B03EEEC2FA9235D998C@SACEXCMBX04-PRD.hq.netapp.com>

On 02/21/2013 02:51 PM, Myklebust, Trond wrote:
> On Thu, 2013-02-21 at 12:37 +0100, Ric Wheeler wrote:
>> We have debated the need to have a system call to allow for offloading copy
>> operations, for example to an NFS server (part to the new NFS 4.2
>> specification), SCSI target device (two different SCSI commands do this), local
>> file systems (reflink, etc) and I suspect many other possible parts of the stack
>> could implement this.
> sendfile64() pretty much already has the right arguments for a
> "copyfile", however it would be nice to add a 'flags' parameter: the
> NFSv4.2 version would use that to specify whether or not to copy file
> metadata.

That would seem to be enough to me and has the advantage that it is an 
relatively obvious extension to something that is at least not totally unknown 
to developers.

Do we need more than that for non-NFS paths I wonder? What does reflink need or 
the SCSI mechanism?

>
>> The earliest discussion of such a system call I saw happened back in 2001, I
>> know we had another more recent flurry (2-3 years back?) as well that got
>> tangled up and died away.
>>
>> Given the new popularity of this in storage devices and the use case for virt
>> guests, any chance to get a proposal floated this year that might be able to
>> land upstream in our life times :) ?
> I'm planning on soon dusting off the NFS prototype that NetApp wrote 3
> years ago and converting at least the client implementation into
> something that can go upstream. We do also have a server prototype for
> Linux, but the copy offload between 2 different servers is a hack and
> would need significant work.
>

That would be really interesting, thanks!

  reply	other threads:[~2013-02-21 14:57 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-21 11:37 New copyfile system call - discuss before LSF? Ric Wheeler
2013-02-21 13:37 ` Hannes Reinecke
2013-02-21 13:51 ` Myklebust, Trond
2013-02-21 14:57   ` Ric Wheeler [this message]
2013-02-21 16:36     ` Andreas Dilger
2013-02-21 20:00     ` Paolo Bonzini
2013-02-21 20:50       ` Myklebust, Trond
2013-02-21 22:24         ` Zach Brown
2013-02-22  1:29           ` Myklebust, Trond
2013-02-23  0:32             ` Eric Wong
2013-03-30 19:45               ` Pavel Machek
2013-03-31 21:23                 ` Eric Wong
2013-02-22  9:47           ` Paolo Bonzini
2013-02-22  9:52             ` Ric Wheeler
2013-02-22 18:22               ` Zach Brown
2013-02-22 22:48                 ` Myklebust, Trond
2013-02-25 21:14           ` Andy Lutomirski
2013-02-25 21:49             ` Ric Wheeler
2013-02-25 21:59               ` Myklebust, Trond
2013-02-25 22:16                 ` Andy Lutomirski
2013-02-25 23:28                   ` Myklebust, Trond
2013-02-25 23:35                     ` Andy Lutomirski
2013-02-25 23:45                       ` Myklebust, Trond
2013-02-26  0:03                         ` Zach Brown
2013-03-11  9:31                           ` Joel Becker
2013-02-26 21:02             ` Jörn Engel
2013-02-26 22:35               ` Andy Lutomirski
2013-03-30 19:49               ` Pavel Machek
2013-03-30 20:08                 ` Andreas Dilger
2013-03-30 21:45                   ` Pavel Machek
2013-03-30 21:57                     ` Myklebust, Trond
2013-03-30 23:21                       ` Ric Wheeler
2013-03-31  2:53                         ` Andreas Dilger
2013-03-31  3:52                           ` Myklebust, Trond
2013-03-31  4:18                             ` Andy Lutomirski
2013-03-31  4:36                               ` Myklebust, Trond
2013-03-31  4:45                                 ` Myklebust, Trond
2013-04-01 15:49                                 ` J. Bruce Fields
2013-03-31  7:36                       ` Pavel Machek
2013-03-31 18:27                         ` Myklebust, Trond
2013-03-31 18:32                           ` openat(..., AT_UNLINKED) was " Pavel Machek
2013-03-31 18:44                             ` Myklebust, Trond
2013-03-31 22:50                               ` Pavel Machek
2013-03-31 23:14                                 ` Ric Wheeler
2013-03-31 23:18                                   ` Pavel Machek
2013-03-31 23:28                                     ` Ric Wheeler
2013-03-31 23:41                                       ` Pavel Machek
2013-03-31  5:38                     ` AEDilger Gmail
2013-03-31  8:25                       ` Pavel Machek
2013-03-31 11:48                   ` Pádraig Brady
2013-03-30 22:40                 ` Andy Lutomirski
2013-02-21 22:05       ` Ric Wheeler
2013-02-21 22:13         ` Myklebust, Trond
2013-02-22  8:47           ` Ric Wheeler
2013-02-21 18:29   ` Jeremy Allison
2013-02-22  0:29     ` Eric Wong

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=512635D2.4090207@redhat.com \
    --to=rwheeler@redhat.com \
    --cc=Trond.Myklebust@netapp.com \
    --cc=aviro@redhat.com \
    --cc=clmason@fusionio.com \
    --cc=hare@suse.de \
    --cc=hch@infradead.org \
    --cc=jlbec@evilplan.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mkp@mkp.net \
    /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).