[libvirt] [PATCH v3] vbox: add support for v4.2.20+ and v4.3.4+

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-v3' Regards, Manuel VIVES v3: - Changed the commit message for being more precise. - Resend after freeze.

2014/1/20 Manuel VIVES <manuel.vives@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-v3'
Regards, Manuel VIVES
v3: - Changed the commit message for being more precise. - Resend after freeze.
ACK and pushed. I had to fix this patch in one place before pushing. You changed #if VBOX_API_VERSION == 2002 && defined WIN32 to #if VBOX_API_VERSION == 2002000 && defined WIN32000 I removed the three zeros from WIN32 before pushing. -- Matthias Bolte http://photron.blogspot.com
participants (2)
-
Manuel VIVES
-
Matthias Bolte