qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug 1870098] Re: [block/vpc] cynamic disk header: off-by-one error for


From: Kevin Wolf
Subject: [Bug 1870098] Re: [block/vpc] cynamic disk header: off-by-one error for "num_bat_entries"
Date: Wed, 01 Apr 2020 13:22:24 -0000

Is there any actual bug resulting from this that you're observing? As I
read the spec, having a longer BAT is merely unconventional, not
strictly wrong. So if another application fails to deal with such
images, it's probably a bug in that application.

Of course, I can't see a reason for making the BAT longer than necessary
either. We do, however, need to round up if the disk size is not a
multiple of the image block size. So I think what it really should be
is:

num_bat_entries = DIV_ROUND_UP(total_sectors, block_size / 512)

If you agree, please let me know if I should submit a patch or if you
would like to do that yourself. (See
https://wiki.qemu.org/Contribute/SubmitAPatch)

-- 
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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]