Bug 1007226

Summary: Introduce bs->zero_beyond_eof
Product: Red Hat Enterprise Linux 7 Reporter: Asias He <asias>
Component: qemu-kvmAssignee: Ademar Reis <areis>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: acathrow, areis, bsarathy, hhuang, juzhang, mkenneth, qzhang, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-1.5.3-7.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1007224 Environment:
Last Closed: 2014-06-13 09:38: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:
Bug Depends On: 1007224    
Bug Blocks:    

Description Asias He 2013-09-12 07:20:35 UTC
+++ This bug was initially created as a clone of Bug #1007224 +++

Description of problem:

        In 4146b46c42e0989cb5842e04d88ab6ccb1713a48 (block: Produce zeros when
        protocols reading beyond end of file), we break qemu-iotests ./check
        -qcow2 022. This happens because qcow2 temporarily sets ->growable = 1
        for vmstate accesses (which are stored beyond the end of regular image
        data).
    
        We introduce the bs->zero_beyond_eof to allow qcow2_load_vmstate() to
        disable ->zero_beyond_eof temporarily in addition to enable ->growable.


Version-Release number of selected component (if applicable):


How reproducible:
 
100%

Steps to Reproduce:

Run the qemu-iotests ./check -qcow2 022 test

Actual results:

qemu-iotest does not pass

Expected results:

qemu-iotest should pass

Additional info:

The fix is in upstream now. I will backport to rhel shortly.

Comment 2 Miroslav Rezanina 2013-09-26 09:34:13 UTC
Fix included in qemu-kvm-1.5.3-7.el7

Comment 6 Qunfang Zhang 2013-12-27 03:25:06 UTC
This bug could not be reproduce on both the old qemu-kvm-1.5.3-6.el7.x86_64 and the latest qemu-kvm-1.5.3-30.el7.x86_64 with the reproducer in bug 1007224#c2.

Steps:
1. Boot up a guest with qcow2 format image.

2. savevm/loadvm

(qemu) savevm 1
(qemu) info snapshots 
ID        TAG                 VM SIZE                DATE       VM CLOCK
1          1                     11M 2013-12-27 11:05:02   00:00:04.804
(qemu) loadvm 1 (wait for a while)
(qemu) info status
VM status: running

Repeat step 2 when guest read/write data for several times, could not reproduce. 

Ademar, could we call this verify pass? Or any additional testing is required?  Thanks.

Comment 7 Ademar Reis 2013-12-27 13:16:03 UTC
(In reply to Qunfang Zhang from comment #6)
> 
> Repeat step 2 when guest read/write data for several times, could not
> reproduce. 
> 
> Ademar, could we call this verify pass? Or any additional testing is
> required?  Thanks.

I investigated it and found that this is expected behavior. The broken patch was never added alone to a RHEL7 build: Stefan included both fixes together in the same build (the fix for the original bug, where this problem was introduced and the fix for this problem).

So yes, you can consider this verified. Thanks.

Comment 8 Qunfang Zhang 2013-12-29 06:16:08 UTC
(In reply to Ademar de Souza Reis Jr. from comment #7)
> (In reply to Qunfang Zhang from comment #6)
> > 
> > Repeat step 2 when guest read/write data for several times, could not
> > reproduce. 
> > 
> > Ademar, could we call this verify pass? Or any additional testing is
> > required?  Thanks.
> 
> I investigated it and found that this is expected behavior. The broken patch
> was never added alone to a RHEL7 build: Stefan included both fixes together
> in the same build (the fix for the original bug, where this problem was
> introduced and the fix for this problem).
> 
> So yes, you can consider this verified. Thanks.

Okay, thanks a lot for your confirmation!

Comment 9 Ludek Smid 2014-06-13 09:38:26 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.