Am 13.01.2016 um 09:37 hat Fam Zheng geschrieben:
> Two empty raw files are always compared by actually reading data even if
> there is no data, because BDRV_BLOCK_ZERO is considered "allocated" in
> bdrv_is_allocated_above().  That is inefficient.
> 
> Use bdrv_get_block_status_above() for more information, and skip the
> consecutive zero sectors.
> 
> This brings a huge speed up in comparing sparse/empty raw images:
> 
>     $ qemu-img create a 1G
> 
>     $ time ~/build/master/bin/qemu-img compare a a
>     Images are identical.
> 
>     real    0m6.583s
>     user    0m0.191s
>     sys     0m6.367s
> 
>     $ time qemu-img compare a a
>     Images are identical.
> 
>     real    0m0.033s
>     user    0m0.003s
>     sys     0m0.031s
> 
> Signed-off-by: Fam Zheng <f...@redhat.com>

Thanks, applied to the block branch.

Kevin

Reply via email to