[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/8] block/backup: improve unallocated clusters
From: |
Max Reitz |
Subject: |
Re: [Qemu-devel] [PATCH 4/8] block/backup: improve unallocated clusters skipping |
Date: |
Fri, 9 Aug 2019 14:53:31 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
On 09.08.19 14:47, Vladimir Sementsov-Ogievskiy wrote:
> 09.08.2019 15:25, Max Reitz wrote:
>> On 09.08.19 09:50, Vladimir Sementsov-Ogievskiy wrote:
>>> 07.08.2019 21:01, Max Reitz wrote:
>>>> On 07.08.19 10:07, Vladimir Sementsov-Ogievskiy wrote:
>>>>> Limit block_status querying to request bounds on write notifier to
>>>>> avoid extra seeking.
>>>>
>>>> I don’t understand this reasoning. Checking whether something is
>>>> allocated for qcow2 should just mean an L2 cache lookup. Which we have
>>>> to do anyway when we try to copy data off the source.
>>>
>>> But for raw it's seeking.
>>
>> (1) That’s a bug in block_status then, isn’t it?
>>
>> file-posix cannot determine the allocation status, or rather, everything
>> is allocated. bdrv_co_block_status() should probably pass @want_zero on
>> to the driver’s implementation, and file-posix should just
>> unconditionally return DATA if it’s false.
>>
>> (2) Why would you even use sync=top for raw nodes?
>>
>
> As I described in parallel letters, raw was bad example. NBD is good.
Does NBD support backing files?
> Anyway, now I'm refactoring cluster skipping more deeply for v2.
>
> About top-mode: finally block-status should be used to improve other
> modes too. In virtuozzo we skip unallocated for full mode too, for example.
But this patch here is about sync=top.
Skipping is an optimization, the block_status querying here happens
because copying anything that isn’t allocated in the top layer would be
wrong.
Max
> Unfortunately, backup is most long-term thing to upstream for me..
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-devel] [PATCH 5/8] block/backup: fix backup_cow_with_offload for last cluster, (continued)
[Qemu-devel] [PATCH 3/8] block/io: handle alignment and max_transfer for copy_range, Vladimir Sementsov-Ogievskiy, 2019/08/07
[Qemu-devel] [PATCH 7/8] block/backup: merge duplicated logic into backup_do_cow, Vladimir Sementsov-Ogievskiy, 2019/08/07
[Qemu-devel] [PATCH 6/8] block/backup: teach backup_cow_with_bounce_buffer to copy more at once, Vladimir Sementsov-Ogievskiy, 2019/08/07
[Qemu-devel] [PATCH 8/8] block/backup: backup_do_cow: use bdrv_dirty_bitmap_next_dirty_area, Vladimir Sementsov-Ogievskiy, 2019/08/07