[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] qemu-iotests 042: zero size image on VMDK
From: |
Fam Zheng |
Subject: |
Re: [Qemu-devel] qemu-iotests 042: zero size image on VMDK |
Date: |
Thu, 18 Apr 2013 18:08:46 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, 04/18 09:39, Stefan Hajnoczi wrote:
> On Thu, Apr 18, 2013 at 03:08:55PM +0800, Fam Zheng wrote:
> > Currently VMDK block driver fails qemu-iotest case 042 because it
> > refuses to create block with zero size (silently). Is support for zero
> > size image desired or should this case be skipped?
> >
> > $ qemu-img create -f vmdk t.vmdk 0
> > Formatting 't.vmdk', fmt=vmdk size=0 compat6=off
> > qemu-img: t.vmdk: error while creating vmdk: No such file or directory
>
> Is there a reason to refuse 0-sized images? The VMware tools can resize
> images so it would be possible to grow them later (i.e. the use case is
> weird but might still be valid).
>
> It's also worth checking if VMware tools allow you to create 0-sized
> image and whether they can operate on them. If they fail to open or
> inspect 0-sized images, then QEMU should not create them.
Not possible for VMware tools, either. See the vmware-vdiskmanager behavior
here:
$ ../vmdk.py t.vmdk resize 0
OK
$ ../vmdk.py t.vmdk show
*** Header ***
magic : 1447904331
version : 1
flags : 3
capacity : 0
grain_size : 128
descriptor_offset : 1
descriptor_size : 20
num_gtes_per_gt : 512
rgd_offset : 21
gd_offset : 278
overhead : 640
unclean_shutdown : False
single_endline_char :
non_endline_char :
double_endline_char :
double_endline_char2 :
compress_algorithm : 0
*** Embeddd Descriptor ***
# Disk DescriptorFile
version=1
encoding="UTF-8"
CID=fffffffe
parentCID=ffffffff
isNativeSnapshot="no"
createType="monolithicSparse"
# Extent description
RW 0 SPARSE "t.vmdk"
# The Disk Data Base
#DDB
ddb.deletable = "true"
ddb.virtualHWVersion = "6"
ddb.longContentID = "ff7abf4bda4302142e8ba8593ad0bdb6"
ddb.uuid = "60 00 C2 94 2e a6 38 d0-8b 2c 21 37 49 8b 15 70"
ddb.geometry.cylinders = "2048"
ddb.geometry.heads = "64"
ddb.geometry.sectors = "32"
ddb.adapterType = "lsilogic"
$ vmware-vdiskmanager -x 2G t.vmdk
=> Failed to open the disk 't.vmdk' : The file specified is not a virtual disk
(0xf00003ebf).
Failed to open disk 't.vmdk' : The file specified is not a virtual disk
(0xf00003ebf).
=> $ ../vmdk.py t.vmdk resize 1
OK
$ vmware-vdiskmanager -x 2G t.vmdk
=> Grow: 0% done.Disk expansion completed successfully.
WARNING: If the virtual disk is partitioned, you must use a third-party
utility in the virtual machine to expand the size of the
partitions. For more information, see:
http://www.vmware.com/support/kb/enduser/std_adp.php?p_faqid=1647
--
Fam