Bug 1298027
| Summary: | qemu-img compare is unnessarily slow on raw files | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Fam Zheng <famz> |
| Component: | qemu-kvm-rhev | Assignee: | Fam Zheng <famz> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.3 | CC: | chayang, huding, jinzhao, juzhang, mrezanin, pezhang, virt-maint, weliao, xfu |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | QEMU 2.6 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-11-07 20:54:26 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
Upstream commit:
commit 25ad8e6e95770d4f01844dc2542d861e73b174b2
Author: Fam Zheng <famz>
Date: Wed Jan 13 16:37:41 2016 +0800
qemu-img: Speed up comparing empty/zero images
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions Reproduce this bug with following version: qemu-img-rhev-2.3.0-31.el7.x86_64 Steps: # for a in raw qcow2; do for b in c d; do qemu-img create -f $a $b 5G; done; time qemu-img compare c d; done Formatting 'c', fmt=raw size=5368709120 Formatting 'd', fmt=raw size=5368709120 Images are identical. real 0m3.616s user 0m0.455s sys 0m3.179s Formatting 'c', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 Formatting 'd', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 Images are identical. real 0m0.014s user 0m0.008s sys 0m0.006s So this bug reproduced --------------------------------------------------------- Verified this bug with following version: qemu-img-rhev-2.6.0-1.el7.x86_64 Steps: # for a in raw qcow2; do for b in c d; do qemu-img create -f $a $b 5G; done; time qemu-img compare c d; done Formatting 'c', fmt=raw size=5368709120 Formatting 'd', fmt=raw size=5368709120 Images are identical. real 0m0.011s user 0m0.007s sys 0m0.004s Formatting 'c', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 Formatting 'd', fmt=qcow2 size=5368709120 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 Images are identical. real 0m0.012s user 0m0.008s sys 0m0.004s according to this result. The bug is fixed. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2016-2673.html |
"qemu-img compare" is unnecessarily slow on empty raw files: ----- 8< ----- $ for fmt in raw qcow2; do \ for f in a b; do \ qemu-img create -f $fmt $f 1G \ done \ time qemu-img compare a b \ done Formatting 'a', fmt=raw size=1073741824 Formatting 'b', fmt=raw size=1073741824 Images are identical. real 0m6.424s user 0m0.177s sys 0m6.194s Formatting 'a', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 Formatting 'b', fmt=qcow2 size=1073741824 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 Images are identical. real 0m0.008s user 0m0.005s sys 0m0.003s ----- 8< ----- Ideally, because the new created raw files are empty: $ qemu-img info a image: a file format: raw virtual size: 5.0G (5368709120 bytes) disk size: 0 Images are identical. The efficiency of qemu-img compare operation should be close to qcow2 if not more.