[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] write_zeroes/trim on the whole disk
From: |
Alex Bligh |
Subject: |
Re: [Qemu-devel] write_zeroes/trim on the whole disk |
Date: |
Sat, 24 Sep 2016 17:52:56 +0100 |
> On 24 Sep 2016, at 17:48, Vladimir Sementsov-Ogievskiy <address@hidden> wrote:
>
>>> Use NBD_CMD_WRITE_ZEROES without NBD_CMD_FLAG_NO_HOLE and you can pretty
>>> much assume that a server that supports holes will write holes. A server
>>> that does not support holes will write zeroes. If you don't care whether
>>> the resultant data is zero, just use NBD_CMD_TRIM. But as you do care (see
>>> above) you must be prepared for a 'thick' write of zeroes on servers that
>>> don't support it.
>>>
>>
>> No, holes are critical. Concreate case: incremental backup to delta file. If
>> we write zeroes instead of holes, we will lose underlying data (from
>> previous incremental).
>>
> hmm, no, sorry, that is not needed.
In *your* use-case holes may be desirable. However in the general case, you
cannot assume a server supports holes. Optional support for holes isn't even in
the mainline spec yet (AFAIR).
It's up to you if you choose not to connect to servers that don't support
NBD_CMD_WRITE_ZEREOS or NBD_CMD_TRIM, but even if you take that strategy, you
cannot guarantee that the server will not implement them by ignoring
NBD_CMD_TRIM (this is perfectly acceptable as NBD_CMD_TRIM is advisory only)
and making NBD_CMD_WRITE_ZEREOS do a long write of zeroes.
IE there is no way to detect whether the server actually supports holes.
--
Alex Bligh
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, (continued)
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Wouter Verhelst, 2016/09/23
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Alex Bligh, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk,
Alex Bligh <=
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Alex Bligh, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Alex Bligh, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Alex Bligh, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Alex Bligh, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Alex Bligh, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Vladimir Sementsov-Ogievskiy, 2016/09/24
- Re: [Qemu-devel] write_zeroes/trim on the whole disk, Wouter Verhelst, 2016/09/24