2014/1/14 Manuel VIVES <manuel.vives(a)diateam.net>:
Hi,
While working on adding virDomain*Stats support to the vbox driver, we
found bugs in the VirtualBox API C bindings. These bugs have been fixed
in versions 4.2.20 and 4.3.4.
However, the changes in the C bindings are incompatible with the
vbox_CAPI_v4_2.h
and vbox_CAPI_v4_3.h files which are bundled in libvirt source code. This is
why the
following patch adds vbox_CAPI_v4_2_20.h and vbox_CAPI_v4_3_4.h.
As stated by Matthias Bolte, the actual underlying problem here is that
libvirt assumes that VirtualBox API can only change between release versions
(4.2 -> 4.3), but we have a case here where it changed (or got fixed) between
minor versions (4.2.18 -> 4.2.20).
This patch makes the VBOX_API_VERSION represent the full API
version number (i.e 4002 => 4002000) so there are specific version
numbers for Vbox 4.2.20 (4002020) and 4.3.4 (4003004)
As the patch is too big for the mailing list, it is publicly available
at
http://git-lab.diateam.net/cots/libvirt.git/ with the branch name
'vbox-4.2.20-4.3.4-support-v2'
Regards,
Manuel VIVES
ACK to the content of the patch. But the commit message itself lacks
the explanation for this patch that is given in your mail. This should
be included. Also as libvirt is currently in freeze for the upcoming
release I suggest to delay pushing this patch until after the release,
as the patch doesn't fix any current bug in the VirtualBox driver, but
is a prerequisite for future patches.
--
Matthias Bolte
http://photron.blogspot.com