Re: New copyfile system call - discuss before LSF?
From: Myklebust, Trond
Date: Thu Feb 21 2013 - 17:14:08 EST
On Thu, 2013-02-21 at 23:05 +0100, Ric Wheeler wrote:
> On 02/21/2013 09:00 PM, Paolo Bonzini wrote:
> > Il 21/02/2013 15:57, Ric Wheeler ha scritto:
> >>> 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?
> > For virt we would like to be able to specify arbitrary block ranges.
> > Copying an entire file helps some copy operations like storage
> > migration. However, it is not enough to convert the guest's offloaded
> > copies to host-side offloaded copies.
> > Paolo
> I don't think that the NFS protocol allows arbitrary ranges, but the SCSI
> commands are ranged based.
> If I remember what the windows people said at a SNIA event a few years back,
> they have a requirement that the target file be pre-allocated (at least for the
> SCSI based copy). Not clear to me where they iterate over that target file to do
> the block range copies, but I suspect it is in their kernel.
The NFSv4.2 copy offload protocol _does_ allow the copying of arbitrary
byte ranges. The main target for that functionality is indeed
virtualisation and thin provisioning of virtual machines.
Linux NFS client maintainer
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/