Re: New copyfile system call - discuss before LSF?

From: Ric Wheeler
Date: Thu Feb 21 2013 - 17:06:43 EST


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.

Ric

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