[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <5127308C.7000209@redhat.com>
Date: Fri, 22 Feb 2013 09:47:08 +0100
From: Ric Wheeler <rwheeler@...hat.com>
To: "Myklebust, Trond" <Trond.Myklebust@...app.com>
CC: Ric Wheeler <rwheeler@...hat.com>,
Paolo Bonzini <pbonzini@...hat.com>,
Linux FS Devel <linux-fsdevel@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Chris L. Mason" <clmason@...ionio.com>,
Christoph Hellwig <hch@...radead.org>,
Alexander Viro <aviro@...hat.com>,
"Martin K. Petersen" <mkp@....net>, Hannes Reinecke <hare@...e.de>,
Joel Becker <jlbec@...lplan.org>
Subject: Re: New copyfile system call - discuss before LSF?
On 02/21/2013 11:13 PM, Myklebust, Trond wrote:
> 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.
>
For background, here is a pointer to Fred Knight's SNIA talk on the SCSI support
for offload:
https://snia.org/sites/default/files2/SDC2011/presentations/monday/FrederickKnight_Storage_Data_Movement_Offload.pdf
and a talk from Spencer Shepler that gives some detail on the NFS spec,
including the "server side copy" bits:
https://snia.org/sites/default/files2/SDC2011/presentations/wednesday/SpencerShepler_IETF_NFSv4_Working_Group_v4.pdf
The talks both have references to the actual specs for the gory details.
Ric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists