Bug 1039791
Summary: | qemu-img creates truncated VMDK image with subformat=twoGbMaxExtentFlat | |||
---|---|---|---|---|
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: | medium | Docs Contact: | ||
Priority: | medium | |||
Version: | 7.0 | CC: | juzhang, knoel, rbalakri, sluo, virt-maint | |
Target Milestone: | rc | |||
Target Release: | --- | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | qemu-kvm-1.5.3-67.el7 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1088788 (view as bug list) | Environment: | ||
Last Closed: | 2015-03-05 08:02:27 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: | ||||
Bug Blocks: | 1088788 |
Description
Fam Zheng
2013-12-10 02:05:24 UTC
Fix posted to upstream and merged for v2.0.0. Moving to POST and waiting for rebase. Thanks, Fam Backporting upstream fix for both subformat: commit af057fe74092df2e7a576448ddbdc0daac1370bf Author: Fam Zheng <famz> Date: Tue Dec 3 10:41:05 2013 +0800 vmdk: Fix creating big description file The buffer for description file was 4096 which only covers a few hundred of extents. This changes the buffer to dynamic allocated with g_strdup_printf in order to support bigger cases. Signed-off-by: Fam Zheng <famz> Signed-off-by: Stefan Hajnoczi <stefanha> Fix included in qemu-kvm-1.5.3-67.el7 Reproduce this issue on qemu-kvm-1.5.3-66.el7.x86_64 with twoGbMaxExtentSparse and twoGbMaxExtentFlat subformat. host info: # uname -r && rpm -q qemu-kvm 3.10.0-145.el7.x86_64 qemu-kvm-1.5.3-66.el7.x86_64 # qemu-img create -f vmdk -o subformat=twoGbMaxExtentFlat test.vmdk 1T Formatting 'test.vmdk', fmt=vmdk size=1099511627776 compat6=off subformat='twoGbMaxExtentFlat' zeroed_grain=off [root@dhcp-11-154 home]# cat test.vmdk # Disk DescriptorFile version=1 CID=53fed956 parentCID=ffffffff createType="twoGbMaxExtentFlat" # Extent description RW 4194304 FLAT "test-f001.vmdk" 0 RW 4194304 FLAT "test-f002.vmdk" 0 RW 4194304 FLAT "test-f003.vmdk" 0 ...... RW 4194304 FLAT "test-f109.vmdk" 0 RW 4194304 FLAT "test-f110.vmdk" 0 RW 4194304 FLAT "test-f111.vmdk" 0 RW 4194304 FLAT "test-f112.vmdk" 0 RW 4194304 FLAT "test-f113.vmdk" 0 RW 4194304 FLAT "test-[root@dhcp-11-154 home]# # qemu-img create -f vmdk -o subformat=twoGbMaxExtentSparse test.vmdk 1T Formatting 'test.vmdk', fmt=vmdk size=1099511627776 compat6=off subformat='twoGbMaxExtentSparse' zeroed_grain=off [root@dhcp-11-154 home]# cat test.vmdk # Disk DescriptorFile version=1 CID=53fed9e0 parentCID=ffffffff createType="twoGbMaxExtentSparse" # Extent description RW 4194304 SPARSE "test-s001.vmdk" RW 4194304 SPARSE "test-s002.vmdk" RW 4194304 SPARSE "test-s003.vmdk" RW 4194304 SPARSE "test-s004.vmdk" RW 4194304 SPARSE "test-s005.vmdk" ...... RW 4194304 SPARSE "test-s108.vmdk" RW 4194304 SPARSE "test-s109.vmdk" RW 4194304 SPARSE "test-s110.vmdk" RW 4194304 SPARSE "test-s111.vmdk" RW 4194304 SPARSE "test-s112.vmdk" RW 4194304 SPARSE "test-s113.vmdk" RW 4194304 SPARSE "t[root@dhcp-11-154 home]# ########################################### Verify this issue on qemu-kvm-1.5.3-67.el7.x86_64 with twoGbMaxExtentSparse and twoGbMaxExtentFlat subformat. host info: # uname -r && rpm -q qemu-kvm 3.10.0-145.el7.x86_64 qemu-kvm-1.5.3-67.el7.x86_64 # qemu-img create -f vmdk -o subformat=twoGbMaxExtentFlat test.vmdk 1T Formatting 'test.vmdk', fmt=vmdk size=1099511627776 compat6=off subformat='twoGbMaxExtentFlat' zeroed_grain=off # cat test.vmdk # Disk DescriptorFile version=1 CID=53feda9f parentCID=ffffffff createType="twoGbMaxExtentFlat" # Extent description RW 4194304 FLAT "test-f001.vmdk" 0 RW 4194304 FLAT "test-f002.vmdk" 0 RW 4194304 FLAT "test-f003.vmdk" 0 RW 4194304 FLAT "test-f004.vmdk" 0 RW 4194304 FLAT "test-f005.vmdk" 0 ...... RW 4194304 FLAT "test-f508.vmdk" 0 RW 4194304 FLAT "test-f509.vmdk" 0 RW 4194304 FLAT "test-f510.vmdk" 0 RW 4194304 FLAT "test-f511.vmdk" 0 RW 4194304 FLAT "test-f512.vmdk" 0 # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "2130440" ddb.geometry.heads = "16" ddb.geometry.sectors = "63" ddb.adapterType = "ide" # qemu-img create -f vmdk -o subformat=twoGbMaxExtentSparse test.vmdk 1T Formatting 'test.vmdk', fmt=vmdk size=1099511627776 compat6=off subformat='twoGbMaxExtentSparse' zeroed_grain=off # cat test.vmdk # Disk DescriptorFile version=1 CID=53fedae9 parentCID=ffffffff createType="twoGbMaxExtentSparse" # Extent description RW 4194304 SPARSE "test-s001.vmdk" RW 4194304 SPARSE "test-s002.vmdk" RW 4194304 SPARSE "test-s003.vmdk" RW 4194304 SPARSE "test-s004.vmdk" RW 4194304 SPARSE "test-s005.vmdk" RW 4194304 SPARSE "test-s006.vmdk" ...... RW 4194304 SPARSE "test-s508.vmdk" RW 4194304 SPARSE "test-s509.vmdk" RW 4194304 SPARSE "test-s510.vmdk" RW 4194304 SPARSE "test-s511.vmdk" RW 4194304 SPARSE "test-s512.vmdk" # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "2130440" 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 #8 was tried on Intel host. Now i tried the qemu-kvm-rhev on AMD host to verify it. host info: # uname -r && rpm -q qemu-kvm-rhev 3.10.0-147.el7.x86_64 qemu-kvm-rhev-2.1.0-2.el7.x86_64 [root@hp-dl385g7-01 home]# qemu-img create -f vmdk -o subformat=twoGbMaxExtentFlat test.vmdk 1T Formatting 'test.vmdk', fmt=vmdk size=1099511627776 compat6=off subformat='twoGbMaxExtentFlat' [root@hp-dl385g7-01 home]# cat test.vmdk # Disk DescriptorFile version=1 CID=54042a78 parentCID=ffffffff createType="twoGbMaxExtentFlat" # Extent description RW 4194304 FLAT "test-f001.vmdk" 0 RW 4194304 FLAT "test-f002.vmdk" 0 RW 4194304 FLAT "test-f003.vmdk" 0 RW 4194304 FLAT "test-f004.vmdk" 0 ...... RW 4194304 FLAT "test-f508.vmdk" 0 RW 4194304 FLAT "test-f509.vmdk" 0 RW 4194304 FLAT "test-f510.vmdk" 0 RW 4194304 FLAT "test-f511.vmdk" 0 RW 4194304 FLAT "test-f512.vmdk" 0 # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "2130440" ddb.geometry.heads = "16" ddb.geometry.sectors = "63" ddb.adapterType = "ide" [root@hp-dl385g7-01 home]# qemu-img create -f vmdk -o subformat=twoGbMaxExtentSparse test.vmdk 1T Formatting 'test.vmdk', fmt=vmdk size=1099511627776 compat6=off subformat='twoGbMaxExtentSparse' [root@hp-dl385g7-01 home]# cat test.vmdk # Disk DescriptorFile version=1 CID=54042af5 parentCID=ffffffff createType="twoGbMaxExtentSparse" # Extent description RW 4194304 SPARSE "test-s001.vmdk" RW 4194304 SPARSE "test-s002.vmdk" RW 4194304 SPARSE "test-s003.vmdk" RW 4194304 SPARSE "test-s004.vmdk" ...... RW 4194304 SPARSE "test-s508.vmdk" RW 4194304 SPARSE "test-s509.vmdk" RW 4194304 SPARSE "test-s510.vmdk" RW 4194304 SPARSE "test-s511.vmdk" RW 4194304 SPARSE "test-s512.vmdk" # The Disk Data Base #DDB ddb.virtualHWVersion = "4" ddb.geometry.cylinders = "2130440" ddb.geometry.heads = "16" ddb.geometry.sectors = "63" ddb.adapterType = "ide" [root@hp-dl385g7-01 home]# lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 16 On-line CPU(s) list: 0-15 Thread(s) per core: 1 Core(s) per socket: 8 Socket(s): 2 NUMA node(s): 3 Vendor ID: AuthenticAMD CPU family: 16 Model: 9 Model name: AMD Opteron(tm) Processor 6128 Stepping: 1 CPU MHz: 2000.081 BogoMIPS: 4000.38 Virtualization: AMD-V L1d cache: 64K L1i cache: 64K L2 cache: 512K L3 cache: 5118K NUMA node0 CPU(s): 0,2,4,6 NUMA node1 CPU(s): 8-15 NUMA node3 CPU(s): 1,3,5,7 Best Regards, sluo According to comment #8 and comment #9, this issue has been fixed correctly, move to VERIFIED status. 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 |