Bug 1134251

Summary: Opening an obviously truncated VMDK image should fail
Product: Red Hat Enterprise Linux 7 Reporter: Fam Zheng <famz>
Component: qemu-kvmAssignee: Fam Zheng <famz>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.1CC: hhuang, huding, juzhang, mrezanin, rbalakri, sluo, tlavigne, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-1.5.3-84.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-03-05 08:11:25 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:

Description Fam Zheng 2014-08-27 07:58:16 UTC
For those VMDK images that are even smaller than the value in header field "overhead", the files are obviously truncated and unusable.

We can detect and error out this case:

$ qemu-img create -f vmdk a.vmdk 4T
Formatting 'a.vmdk', fmt=vmdk size=4398046511104 compat6=off zeroed_grain=off

$ truncate a.vmdk --size 1M

Current result:

$ ~/build/rhel7/qemu-img info a.vmdk
image: a.vmdk
file format: vmdk
virtual size: 4.0T (4398046511104 bytes)
disk size: 520K
Format specific information:
    cid: 1409125474
    parent cid: 4294967295
    create type: monolithicSparse
    extents:
        [0]:
            virtual size: 4398046511104
            filename: a.vmdk
            cluster size: 65536
            format:

Expected result:

$ qemu-img info a.vmdk
qemu-img: Could not open 'a.vmdk': File truncated, expecting at least 537985024 bytes

Comment 4 Jeff Nelson 2014-12-16 23:40:40 UTC
Fix included in qemu-kvm-1.5.3-84.el7

Comment 6 Sibiao Luo 2014-12-24 06:30:31 UTC
Reproduce this issue:
host info:
# uname -r && rpm -q qemu-kvm
3.10.0-219.el7.x86_64
qemu-kvm-1.5.3-83.el7.x86_64

# qemu-img create -f vmdk a.vmdk 4T
Formatting 'a.vmdk', fmt=vmdk size=4398046511104 compat6=off zeroed_grain=off 
# truncate a.vmdk --size 1M
# qemu-img info a.vmdk
image: a.vmdk
file format: vmdk
virtual size: 4.0T (4398046511104 bytes)
disk size: 520K
Format specific information:
    cid: 1419402502
    parent cid: 4294967295
    create type: monolithicSparse
    extents:
        [0]:
            virtual size: 4398046511104
            filename: a.vmdk
            cluster size: 65536
            format: 

Verify this issue:
host info:
# uname -r && rpm -q qemu-kvm
3.10.0-219.el7.x86_64
qemu-kvm-1.5.3-84.el7.x86_64

# qemu-img create -f vmdk a.vmdk 4T
Formatting 'a.vmdk', fmt=vmdk size=4398046511104 compat6=off zeroed_grain=off 
# truncate a.vmdk --size 1M
# qemu-img info a.vmdk
qemu-img: Could not open 'a.vmdk': File truncated, expecting at least 537985024 bytes

Base on above, this issue has been fixed correctly, move to VERIFIED status, please correct me if any mistake, thanks.

Best Regards,
sluo

Comment 7 Sibiao Luo 2014-12-24 08:46:56 UTC
Tried the qemu-kvm-rhev-2.1.2-17.el7.x86_64 which also did not have such issue.
host info:
# uname -r && rpm -q qemu-kvm-rhev
3.10.0-219.el7.x86_64
qemu-kvm-rhev-2.1.2-17.el7.x86_64

# qemu-img create -f vmdk a.vmdk 4T
Formatting 'a.vmdk', fmt=vmdk size=4398046511104 compat6=off 
# truncate a.vmdk --size 1M
# qemu-img info a.vmdk
qemu-img: Could not open 'a.vmdk': File truncated, expecting at least 537985024 bytes

Best Regards,
sluo

Comment 9 errata-xmlrpc 2015-03-05 08:11:25 UTC
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/RHSA-2015-0349.html