Re: [RFC] extending splice for copy offloading

Ric Wheeler
2013-09-28T21:21:42Z

On 09/28/2013 11:20 AM, Myklebust, Trond wrote:
>> -----Original Message-----
>> From: Miklos Szeredi [mailto:miklos@szeredi.hu]
>> Sent: Saturday, September 28, 2013 12:50 AM
>> To: Zach Brown
>> Cc: J. Bruce Fields; Ric Wheeler; Anna Schumaker; Kernel Mailing List; Linux-
>> Fsdevel; linux-nfs@vger.kernel.org; Myklebust, Trond; Schumaker, Bryan;
>> Martin K. Petersen; Jens Axboe; Mark Fasheh; Joel Becker; Eric Wong
>> Subject: Re: [RFC] extending splice for copy offloading
>>
>> On Fri, Sep 27, 2013 at 10:50 PM, Zach Brown <zab@redhat.com> wrote:
>>>> Also, I don't get the first option above at all. The argument is
>>>> that it's safer to have more copies? How much safety does another
>>>> copy on the same disk really give you? Do systems that do dedup
>>>> provide interfaces to turn it off per-file?
>> I don't see the safety argument very compelling either. There are real
>> semantic differences, however: ENOSPC on a write to a
>> (apparentlíy) already allocated block. That could be a bit unexpected. Do we
>> need a fallocate extension to deal with shared blocks?
> The above has been the case for all enterprise storage arrays ever since the invention of snapshots. The NFSv4.2 spec does allow you to set a per-file attribute that causes the storage server to always preallocate enough buffers to guarantee that you can rewrite the entire file, however the fact that we've lived without it for said 20 years leads me to believe that demand for it is going to be limited. I haven't put it top of the list of features we care to implement...
>
> Cheers,
> Trond

I agree - this has been common behaviour for a very long time in the array
space. Even without an array, this is the same as overwriting a block in btrfs
or any file system with a read-write LVM snapshot.

Regards,

Ric