Hi Max, Jeff, We were able to get the qemu patch files downloaded from the qemu patch site - https://patchwork.ozlabs.org and were able to apply the patches successfully without any errors. With the patches applied, we recompiled the qemu and converted the VDK vmdk to vhdx format and uploaded to the SCVMM Server. But it failed again with the syntax error as below:
Information (10804) Unable to import \\TestServer\MSSCVMMLibrary\VHDs\Product-disk1.vhdx because of a syntax error in the file. Please find my comments inline for your questions Please let us know if there is anything else you need from us. Thanks, Amulya -----Original Message----- From: Jeff Cody [mailto:jc...@redhat.com] Sent: Friday, December 12, 2014 8:48 PM To: Lokesha, Amulya Cc: Max Reitz; qemu-devel@nongnu.org; kw...@redhat.com; stefa...@redhat.com Subject: Re: [PATCH 4/4] block: vhdx - set .bdrv_has_zero_init to bdrv_has_zero_init_1 On Fri, Dec 12, 2014 at 09:43:16AM -0500, Lokesha, Amulya wrote: > Hi Max, > > Please reply in-line, it makes it easier to follow technical discussions - thanks :) > > We applied all the 5 patches from the mail chain I got since the last > week. Please find attached the patches used by us. > > We were unable to apply the patch3 as it failed with the following > error > > > > # patch -p1 < patch3 > > patching file block/vhdx.c > > patch: **** malformed patch at line 17: error_setg_errno(errp, > EINVAL, "Image size too large; max of 64TB"); @@ -1936,7 +1936,9 @@ static > QemuOptsList vhdx_create_opts = { > > It looks like however you saved the patch file, it was corrupted. Looking at your attached patch 3, it split line 9 across 2 lines. Your patch also has whitespace differences from the patch I sent. You also attached 5 patches - Why are you using patch 0? You should only be applying patches 1-4. This should not be causing any actual issues, however. [Amulya]: First time we applied patches 1 to 4, created VHDX image and deployed to HyperV Server, but we got the same error. Then we took a fresh qemu source and applied patches 0 to 4 and deployed to HyperV and again got the same syntax error. Are you using git for your qemu version? If so, 'git am' is the preferred method of applying the patches - just save each of the patch emails (the whole email should be fine), and run 'git am' on each file. [Amulya] : No. We don't have a git repository for our team. Could you please let us know how to apply these patches without git. What is the difference in applying the patch directly and modifying the code directly? Does it have any impact? > > > > Hence, we manually added the patch3 changes and recompiled the qemu. We > then used the patched qemu-img to convert our vmdk image to dynamic VHDX > format. We found that the image created this time had a considerable > decrease in its size from 50GB to 12GB. > Could you tell me the file size of the VMDK image you were converting? Is it roughly 12GB as well? [Amulya] : No, the vmdk image which we used for conversion is just 1.4GB > However, when we deployed it into our SCVMM 2012, the import of the VHDX > image failed with a "syntax error" as below > > > > Information (10804) > > Unable to import \\Test.com\Library\VHDs\Test-disk1.vhdx because of a > syntax error in the file. > > If you run qemu-img info on Test-disk1.vhdx, what does it say? [Amulya] : The following is seen with qemu-img info # qemu-img info Test-disk1.vhdx image: Test-disk1.vhdx file format: vhdx virtual size: 50G (53687091200 bytes) disk size: 3.4G cluster_size: 16777216 The size of our images # ls -ltrh total 4.8G -rw-r--r-- 1 root root 1.4G Dec 9 10:48 Test-disk1.vmdk -rw-r--r-- 1 root root 12G Dec 12 04:49 Test-disk1.vhdx > > Please let us know if we missed anything. > > > > Thanks, > > Amulya > > > [...] Jeff