aboutsummaryrefslogtreecommitdiff
path: root/block/io.c
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2016-01-13 16:37:41 +0800
committerKevin Wolf <kwolf@redhat.com>2016-01-20 13:36:23 +0100
commit25ad8e6e95770d4f01844dc2542d861e73b174b2 (patch)
treec7e471d5a4e33bca28c54353f5317afe6accd9fa /block/io.c
parent972b543c6b63579aee590b738d21af09f01569f7 (diff)
qemu-img: Speed up comparing empty/zero images
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 <famz@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'block/io.c')
0 files changed, 0 insertions, 0 deletions