Re: [RFC] extending splice for copy offloading

From: Ric Wheeler
Date: Sat Sep 28 2013 - 17:21:50 EST


On 09/28/2013 11:20 AM, Myklebust, Trond wrote:
-----Original Message-----
From: Miklos Szeredi [mailto:miklos@xxxxxxxxxx]
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@xxxxxxxxxxxxxxx; 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@xxxxxxxxxx> 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

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