Le Fri, 07 May 2010 09:55:23 +0200, Kevin Wolf a écrit : > Am 06.05.2010 20:29, schrieb Stefan Weil: > > This patch fixes a regression introduced by commit > > 95a2f9bc588c3f83375d87b0a9394f89a1bcfada. > > > > The fix is based on a patch from Kevin Wolf. Here his comment: > > > > "The number of blocks needs to be rounded up to cover all of the > > virtual hard > > disk. Without this fix, we can't even open our own images if their > > size is not > > a multiple of the block size." > > > > While Kevin's patch addressed vdi_create, my modification also > > fixes > > vdi_open which now accepts any image which is large enough to hold > > the blocks. > > Shouldn't it be the other way round? That is, an image which has some > unused blocks at its end makes sense, whereas an image with a virtual > disk size that can't be represented with the number of blocks > doesn't?
Exactly, else you don't create what you are asked for. > > I also decided to keep the original code in vdi_create which rounds > > down. > > Rounding works in both directions, and there are good arguments for > > both, > > so I just left the original simple code. > > > > It is very important to use the rounded value for the new disk > > size, too - > > otherwise VirtualBox cannot open our disk image. > > So you're saying that in VDI you can't represent disks with an odd > size? > The one thing common across image formats seems to be that they are > broken... VB works quite well with my converted laptop image which indeed doesn't end on block boundary. Was it because you were just setting size larger than the covered by the blocks ? François.