Note: This bug is displayed in read-only format because
the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
"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.
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.