qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-block] [PATCH v2 2/2] iotests: simple mirror test with kvm on


From: Vladimir Sementsov-Ogievskiy
Subject: Re: [Qemu-block] [PATCH v2 2/2] iotests: simple mirror test with kvm on 1G image
Date: Fri, 30 Nov 2018 16:14:23 +0000

30.11.2018 18:33, Max Reitz wrote:
> On 30.11.18 16:24, Vladimir Sementsov-Ogievskiy wrote:
>> 30.11.2018 17:59, Max Reitz wrote:
>>> On 30.11.18 15:51, Vladimir Sementsov-Ogievskiy wrote:
>>>> 30.11.2018 17:10, Kevin Wolf wrote:
>>>>> Am 30.11.2018 um 14:48 hat Vladimir Sementsov-Ogievskiy geschrieben:
>>>>>> 30.11.2018 16:13, Max Reitz wrote:
>>>>>>> On 30.11.18 14:06, Vladimir Sementsov-Ogievskiy wrote:
>>>>>>>> 30.11.2018 15:30, Max Reitz wrote:
>>>>>>>>> On 29.11.18 11:18, Vladimir Sementsov-Ogievskiy wrote:
>>>>>>>>>> This test is broken without previous commit fixing dead-lock in 
>>>>>>>>>> mirror.
>>>>>>>>>>
>>>>>>>>>> Signed-off-by: Vladimir Sementsov-Ogievskiy<address@hidden>
>>>>>>>>>> ---
>>>>>>>>>>       tests/qemu-iotests/235     | 59 
>>>>>>>>>> ++++++++++++++++++++++++++++++++++++++
>>>>>>>>>>       tests/qemu-iotests/235.out |  1 +
>>>>>>>>>>       tests/qemu-iotests/group   |  1 +
>>>>>>>>>>       3 files changed, 61 insertions(+)
>>>>>>>>>>       create mode 100755 tests/qemu-iotests/235
>>>>>>>>>>       create mode 100644 tests/qemu-iotests/235.out
>>>>>>>>> I'll get to the first patch in a second, but first a suggestion for 
>>>>>>>>> this
>>>>>>>>> patch: I think it's not so good to use 2 GB of space for a test (1 GB
>>>>>>>>> for the source, 1 GB for the target).  So I tried my luck and found 
>>>>>>>>> that
>>>>>>>>> the test works, too, if you just use preallocation=metadata for the
>>>>>>>>> source (instead of actually writing data) and blockdev-mirror'ing the
>>>>>>>>> data to a throttled null-co device.
>>>>>>>>
>>>>>>>> Hmm, so parsing metadata is enough for qcow2 to yield on write, yes?
>>>>>>>
>>>>>>> Apparently so.  If you can confirm that applying those changes to the
>>>>>>> test still make it work (i.e., fail before patch 1, pass afterwards),
>>>>>>> then I think it is just as good.
>>>>>>
>>>>>> Ok, I've checked that your changes works for me.
>>>>>>
>>>>>> hm, but we write to null, so, yield on write comes from throttling, 
>>>>>> however,
>>>>>> without preallocation=metadata, it don't work.., do you know, why we need
>>>>>> preallocation to reproduce?
>>>>>
>>>>> If I should take a guess, probably because mirror only copies allocated
>>>>> clusters?
>>>>>
>>>>> Kevin
>>>>>
>>>>
>>>> hm, so, what preallocation=metadata does? I thought, it preallocates 
>>>> tables, but all qcow2 clusters would be unallocated..
>>>
>>> No, it initializes all metadata structures (i.e., L2 tables) so they
>>> point to data clusters; which is why you cannot use it with backing
>>> files.  It's just that the data clusters are not written.
>>
>> so, clusters are allocated? in this case, we don't avoid allocating of 1G, 
>> but only have a performance gain?
> 
> The data isn't written, so less than 1 MB are actually allocated on-disk.
> 
> The L2 tables do point to offsets over a range of 1 GB, but they should
> all be holes on the filesystem.
> 
> Max
> 

Understand, ok, thank you!


-- 
Best regards,
Vladimir

reply via email to

[Prev in Thread] Current Thread [Next in Thread]