On Thu, 2013-02-21 at 23:05 +0100, Ric Wheeler wrote:On 02/21/2013 09:00 PM, Paolo Bonzini wrote:The NFSv4.2 copy offload protocol _does_ allow the copying of arbitraryIl 21/02/2013 15:57, Ric Wheeler ha scritto:I don't think that the NFS protocol allows arbitrary ranges, but the SCSIFor virt we would like to be able to specify arbitrary block ranges.sendfile64() pretty much already has the right arguments for aThat would seem to be enough to me and has the advantage that it is an
"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.
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?
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
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.
byte ranges. The main target for that functionality is indeed
virtualisation and thin provisioning of virtual machines.