Bug 974617 - qcow2 corruption bug in cluster allocation code
qcow2 corruption bug in cluster allocation code
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
Unspecified Unspecified
urgent Severity urgent
: rc
: ---
Assigned To: Kevin Wolf
Virtualization Bugs
: ZStream
: 993611 (view as bug list)
Depends On:
Blocks: 996151
  Show dependency treegraph
Reported: 2013-06-14 11:44 EDT by Kevin Wolf
Modified: 2014-04-04 08:59 EDT (History)
15 users (show)

See Also:
Fixed In Version: qemu-kvm-
Doc Type: Bug Fix
Doc Text:
* Previously, a counter variable was not correctly reset when restarting an allocating request for disk images using the qcow2 format, which resulted in corruption of these disk images in the cluster allocation code in some cases. This update changes the way that the number of available clusters are counted in the qcow2 format, and qcow2 disks are no longer corrupted in the described scenario.
Story Points: ---
Clone Of:
Last Closed: 2013-11-21 01:59:29 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Result - GOOD (183.10 KB, text/plain)
2013-06-16 04:13 EDT, Qunfang Zhang
no flags Details
Result - BAD (84.66 KB, text/plain)
2013-06-16 04:14 EDT, Qunfang Zhang
no flags Details

External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2013:1553 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2013-11-20 16:40:29 EST

  None (edit)
Description Kevin Wolf 2013-06-14 11:44:23 EDT
A counter variable isn't correctly reset when restarting an allocating request
in qcow2, resulting in corruption in some cases. For details, see
https://bugs.launchpad.net/ubuntu/quantal/+source/qemu-kvm/+bug/1189926 that
was opened against an Ubuntu release using the same code:

> [Impact]
> When using qemu-kvm-1.0 occasionally qcow2 disks will be corrupted.
> [Test Case]
> A test case can be downloaded here:
>     http://people.canonical.com/~arges/lp1189926/lnv-382.tgz
>     Extract the contents and run ./create-disk, then ./test-kvm to test the
>     currently installed KVM. Keep in mind that 100GB+ of disk is required to
>     run the test.
> [...]

This bug was introduced in RHEL 6 commit 73ea798d. The first release to contain
this commit is 6.3.
Comment 2 Qunfang Zhang 2013-06-16 04:11:39 EDT
Test this bug according to comment 0,on the following version[1] for twice, first time the result shows GOOD and the second time, the result shows BAD. Attachment will be uploaded.


Hi, Kevin
Could you help confirm my second log (BAD result), does this mean I reproduce the issue? 

Comment 3 Qunfang Zhang 2013-06-16 04:13:25 EDT
Created attachment 761775 [details]
Result - GOOD
Comment 4 Qunfang Zhang 2013-06-16 04:14:40 EDT
Created attachment 761776 [details]
Result - BAD
Comment 6 Kevin Wolf 2013-06-17 12:56:49 EDT
(In reply to Qunfang Zhang from comment #2)
> Hi, Kevin
> Could you help confirm my second log (BAD result), does this mean I
> reproduce the issue?

It's not my test case, so I have to guess the same as you have. But it looks to
me as if you reproduced the issue indeed. It also says:

*** localhost[0] Sun Jun 16 08:05:01 201 Error: Data corruption
Comment 10 Qunfang Zhang 2013-06-25 00:49:14 EDT
Reproduced again on qemu-kvm-rhev- on the first attempt. And then verified it for 3 times on qemu-kvm-rhev-, all the test pass. 

0. Make sure host has 100GB+ free disk. 
1. Download 
2. Uncompress the lnv-382.tgz
3. ./create-disk
4. Modified "test-kvm" and replace command "kvm" to "/usr/libexec/qemu-kvm".
5. ./test-kvm

Result: On the fixed version qemu-kvm-rhev-, the test passed. I tried 3 times and all passed. 

Return value: 0
Comment 17 errata-xmlrpc 2013-11-21 01:59:29 EST
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.

Comment 18 Ademar Reis 2014-04-04 08:59:53 EDT
*** Bug 993611 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.