Public bug reported: In current qemu versions (observed in 5.0.0-rc1 as well as 2833ad487cfff7dc33703e4731b75facde1c561e), disk headers for dynamic VPCs are written with an incorrect "block allocation table entries" value.
https://www.microsoft.com/en-us/download/details.aspx?id=23850 (the corresponding spec) states that: "Max Table Entries This field holds the maximum entries present in the BAT. This should be equal to the number of blocks in the disk (that is, the disk size divided by the block size)." Inside the qemu code, the value is "disk size divided by the block size *plus one*". Calculating "num_bat_entries" as "total_sectors/(block_size / 512)" *should* fix the issue. ** Affects: qemu Importance: Undecided Status: New -- You received this bug notification because you are a member of qemu- devel-ml, which is subscribed to QEMU. https://bugs.launchpad.net/bugs/1870098 Title: [block/vpc] cynamic disk header: off-by-one error for "num_bat_entries" Status in QEMU: New Bug description: In current qemu versions (observed in 5.0.0-rc1 as well as 2833ad487cfff7dc33703e4731b75facde1c561e), disk headers for dynamic VPCs are written with an incorrect "block allocation table entries" value. https://www.microsoft.com/en-us/download/details.aspx?id=23850 (the corresponding spec) states that: "Max Table Entries This field holds the maximum entries present in the BAT. This should be equal to the number of blocks in the disk (that is, the disk size divided by the block size)." Inside the qemu code, the value is "disk size divided by the block size *plus one*". Calculating "num_bat_entries" as "total_sectors/(block_size / 512)" *should* fix the issue. To manage notifications about this bug go to: https://bugs.launchpad.net/qemu/+bug/1870098/+subscriptions