On 17/03/2017 12:24, Fam Zheng wrote:
> On Fri, 03/17 12:16, Paolo Bonzini wrote:
>>
>>
>> On 17/03/2017 12:11, Peter Lieven wrote:
>>>>> like VMDK or QCOW2 shouldn't we trust the information from the l2 tables 
>>>>> in the VMDK or QCOW2?
>>>> It provides additional information, for example it works better with
>>>> prealloc=metadata.
>>> Okay, understood. Can you imagine of a away to conditionally avoid this 
>>> second callout? In my case we have an additional
>>> lseek for each cluster. For a 20GB file this are approx. 327k calls to 
>>> lseek. And if the file has no preallocated metadata
>>> it will likely not improve anything. And even if the metadata is prealloced 
>>> what is the allocation status of the clusters?
>>
>> If the metadata is preallocated, cluster will (or should) show up as
>> zero, speeding up the copy.
> 
> I think from qemu-img convert's perspective, it doesn't care about the *file
> status if the metadata already speaks, because, like you said, the data shows 
> up
> as zeroes.

That's already the case: *file is only examined if the metadata  says
BDRV_BLOCK_DATA=1, BDRV_BLOCK_ZERO=0.

Paolo

Reply via email to