Bug 1134237
| Summary: | Opening malformed VMDK description file should fail | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 7 | Reporter: | Fam Zheng <famz> |
| Component: | qemu-kvm | Assignee: | Fam Zheng <famz> |
| Status: | CLOSED ERRATA | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 7.1 | CC: | 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:18 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: | |||
Fix included in qemu-kvm-1.5.3-84.el7 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
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 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 |
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