Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1134237 - Opening malformed VMDK description file should fail
Opening malformed VMDK description file should fail
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
7.1
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Fam Zheng
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2014-08-27 03:32 EDT by Fam Zheng
Modified: 2015-03-05 03:11 EST (History)
9 users (show)

See Also:
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 03:11:18 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:0349 normal SHIPPED_LIVE Important: qemu-kvm security, bug fix, and enhancement update 2015-03-05 07:27:34 EST

  None (edit)
Description Fam Zheng 2014-08-27 03:32:30 EDT
qemu-img currently accepts below description file:

--------------8<-------------------
# Disk DescriptorFile
version=1
CID=58ab4847
parentCID=ffffffff
createType="vmfs"

# Extent description
RW 12582912 VMFS "dummy.vmdk" 1


--------------8<-------------------
The line:

RW 12582912 VMFS "dummy.vmdk" 1

is malformed because field "1" is actually unexpected.

We should report and error and refuse to open this image.

Current output:

$ ~/build/rhel7/qemu-img info a.vmdk
image: a.vmdk
file format: vmdk
virtual size: 6.0G (6442450944 bytes)
disk size: 4.0K
Format specific information:
    cid: 1487620167
    parent cid: 4294967295
    create type: vmfs
    extents:
        [0]:
            virtual size: 6442450944
            filename: dummy.vmdk
            format: VMFS

Expected output:

$ qemu-img info a.vmdk
qemu-img: Could not open 'a.vmdk': Invalid extent lines:
RW 12582912 VMFS "dummy.vmdk" 1
Comment 4 Jeff Nelson 2014-12-16 18:40:35 EST
Fix included in qemu-kvm-1.5.3-84.el7
Comment 6 Sibiao Luo 2014-12-24 03:15:03 EST
Reprodue this issue on qemu-kvm-1.5.3-83.el7.x86_64.
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 -o subformat=monolithicFlat a.vmdk 6G
Formatting 'a.vmdk', fmt=vmdk size=6442450944 compat6=off subformat='monolithicFlat' zeroed_grain=off 
# cp a.vmdk a.vmdk.bk
# git diff a.vmdk.bk a.vmdk
diff --git a/a.vmdk.bk b/a.vmdk
index bdb95dd..3ccfb13 100644
--- a/a.vmdk.bk
+++ b/a.vmdk
@@ -2,10 +2,10 @@
 version=1
 CID=549a7595
 parentCID=ffffffff
-createType="monolithicFlat"
+createType="vmfs"
 
 # Extent description
-RW 12582912 FLAT "a-flat.vmdk" 0
+RW 12582912 VMFS "a-flat.vmdk" 1
 
 # The Disk Data Base
 #DDB
# qemu-img info a.vmdk
image: a.vmdk
file format: vmdk
virtual size: 6.0G (6442450944 bytes)
disk size: 4.0K
Format specific information:
    cid: 1419408789
    parent cid: 4294967295
    create type: vmfs
    extents:
        [0]:
            virtual size: 6442450944
            filename: a-flat.vmdk
            format: VMFS



Verify this issue on qemu-kvm-1.5.3-84.el7.x86_64 with monolithicFlat or twoGbMaxExtentSparse|twoGbMaxExtentFlat sub-format.

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

############ for twoGbMaxExtentFlat:
# qemu-img create -f vmdk -o subformat=twoGbMaxExtentFlat a.vmdk 6G
# cp a.vmdk a.vmdk.bk
# git diff a.vmdk.bk a.vmdk
diff --git a/a.vmdk.bk b/a.vmdk
index d188636..ad286e2 100644
--- a/a.vmdk.bk
+++ b/a.vmdk
@@ -2,12 +2,12 @@
 version=1
 CID=549a735a
 parentCID=ffffffff
-createType="twoGbMaxExtentFlat"
+createType="vmfs"
 
 # Extent description
-RW 4194304 FLAT "a-f001.vmdk" 0
-RW 4194304 FLAT "a-f002.vmdk" 0
-RW 4194304 FLAT "a-f003.vmdk" 0
+RW 4194304 VMFS "a-f001.vmdk" 1
+RW 4194304 VMFS "a-f002.vmdk" 1
+RW 4194304 VMFS "a-f003.vmdk" 1
 
 # The Disk Data Base
 #DDB

# qemu-img info a.vmdk
qemu-img: Could not open 'a.vmdk': Invalid extent lines:
RW 4194304 VMFS "a-f001.vmdk" 1
RW 4194304 VMFS "a-f002.vmdk" 1
RW 4194304 VMFS "a-f003.vmdk" 1

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "12483"
ddb.geometry.heads = "16"
ddb.geometry.sectors = "63"
ddb.adapterType = "ide"

############ for twoGbMaxExtentSparse:
# qemu-img info a.vmdk
qemu-img: Could not open 'a.vmdk': Invalid extent lines:
RW 4194304 VMFS "a-s001.vmdk" 1
RW 4194304 VMFS "a-s002.vmdk" 1
RW 4194304 VMFS "a-s003.vmdk" 1

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "12483"
ddb.geometry.heads = "16"
ddb.geometry.sectors = "63"
ddb.adapterType = "ide"

############ for monolithicFlat:
# qemu-img info a.vmdk 
qemu-img: Could not open 'a.vmdk': Invalid extent lines:
RW 12582912 VMFS "a-flat.vmdk" 1

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "12483"
ddb.geometry.heads = "16"
ddb.geometry.sectors = "63"
ddb.adapterType = "ide"

Base on above, this issue has been fixed correctly, move to VERIFIED status.

Best Regards,
sluo
Comment 7 Sibiao Luo 2014-12-24 03:49:16 EST
Tried the qemu-kvm-rhev-2.1.2-17.el7.x86_64 which did not hit this 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 info a.vmdk 
qemu-img: Could not open 'a.vmdk': Invalid extent lines:
RW 12582912 VMFS "a-flat.vmdk" 1

# The Disk Data Base
#DDB

ddb.virtualHWVersion = "4"
ddb.geometry.cylinders = "12483"
ddb.geometry.heads = "16"
ddb.geometry.sectors = "63"
ddb.adapterType = "ide"

Best Regards,
sluo
Comment 9 errata-xmlrpc 2015-03-05 03:11:18 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.

https://rhn.redhat.com/errata/RHSA-2015-0349.html

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