>>> On 7/7/2015 at 02:19 PM, in message <559B6F79.237 : 102 : 21807>, Chun Yan >>> Liu wrote: > > >>>> On 7/7/2015 at 02:03 PM, in message <559b6bbe.3050...@kamp.de>, Peter >>>> Lieven > <p...@kamp.de> wrote: > > Am 07.07.2015 um 07:59 schrieb Chun Yan Liu: >> > >> >>>> On 7/7/2015 at 01:50 PM, in message <559b68b2.5060...@kamp.de>, Peter >> >>>> Lieven >> > <p...@kamp.de> wrote: >> >> Am 07.07.2015 um 03:50 schrieb Chun Yan Liu: >> >>>>>> On 7/6/2015 at 06:42 PM, in message <559a5b79.4010...@kamp.de>, Peter >> >>>>>> Lieven >> >>> <p...@kamp.de> wrote: >> >>>> Am 06.07.2015 um 11:44 schrieb Chun Yan Liu: >> >>>>> While testing with a 1GB VHD file created on win7, found that the VHD >> >>>>> file >> >>>>> size reported on Windows is different from that is reported by >> >>>>> qemu-img >> >>>>> info or within a Linux KVM guest. >> >>>>> >> >>>>> Created a dynamic VHD file on win7, on Windows, it is reported 1024MB >> >>>>> (2097152 sectors). But with qemu-img info or within a Linux KVM guest, >> >>>>> >> >>>>> it is reported 1023MB (2096640 sectors). >> >>>>> >> >>>>> The values in the footer_buf are as follows: >> >>>>> creator_app: "win " >> >>>>> cylinders: 0x820 (2080) >> >>>>> heads: 0x10 (16) >> >>>>> cyl/sec: 0x3f (63) >> >>>>> current_size: 0x40000000 (1G) >> >>>>> >> >>>>> So, if using current_size, it's correct; but using CHS will get a >> >>>>> smaller >> >>>> size. >> >>>>> Should we add a check in this case and use "current_size" instead of >> >>>>> CHS? >> >>>> >> >>>> As far as I remember the issue was and still is that there is no >> >>>> official >> >>>> spec that says >> >>>> use current_size in case A and CHS in case B. >> >>> Understand. >> >>> >> >>>> >> >>>> If currrent_size is greater than CHS and Windows would use CHS (we >> >>>> don't >> >>>> know that) we might run into issues if Qemu uses current_size. In this >> >>>> cas we would write data beyond the end of the container (from Windows >> >>>> perspective). >> >>> That's right. The fact is in our testing we found Windows does not use >> >>> CHS >> >>> but current_size (from testing result), we create and get the VHD parted >> >>> on >> >>> Windows, then take the VHD file into Linux KVM guest, it fails to show >> >> partition >> >>> table (since the reported disk size is shrinking, some of the partitions >> >>> >> >> extend >> >>> beyond the end of the disk). >> >> >> >> Which version of Windows are you referring to? >> > Tested with WS2012R2 and Win7. >> >> Which storage driver?
And imported to a Win7 guest on KVM as IDE device, it's also reported as 1024MB (not CHS value, CHS is 1023MB). > > I'm not sure. See from "device management" -> "disk drive", it's named as > "Msft > virtual disk SCSI disk device", and from "storage controller", it has a > separate > controller named as "Microsoft VHD HBA". Anyway, seems not controlled by > ATA/ATAPI. > >> >> I had a look at the specs and in fact they more or less say: Use >> current_size >> and if you have an ATA controller derive the disk size from CHS. >> >> Peter >> >> >> >