[libvirt] [PATCH] Support for virtualbox version 3.1

pritesh Pritesh.Kothari at Sun.COM
Fri Nov 20 10:46:40 UTC 2009


> Well, apart from the new auto generated files for version 3.1 support
> a huge part of the patch affects vbox_tmpl.c, ~7700 lines changed.
> Most of that are pure indentation level changes, due to inverting the
> logic of some common error checks. Applying the patch and creating a
> new patch using git diff -b to ignore pure whitespace changes results
> in ~2200 lines changed. And even most of this 2200 lines are due to
> the wrapping of some common code patterns into macros; mostly
> free/release calls. The actual functional change of this patch is
> fairly small. You should have split this at least into two separate
> patches.

After a second look at the macros, they really do different stuff in < 3.1 and 
for 3.1 for e.g: the medium release has imedium object in the vtables for < 
3.1 while for 3.1 and above it directly calls release and the imedium object 
is not there any more.

#if VBOX_API_VERSION < 3001

#define VBOX_MEDIUM_RELEASE(arg) \
if(arg)\
    (arg)->vtbl->imedium.nsisupports.Release((nsISupports *)(arg))

#else  /* VBOX_API_VERSION >= 3001 */

#define VBOX_MEDIUM_RELEASE(arg) \
if(arg)\
    (arg)->vtbl->nsisupports.Release((nsISupports *)(arg))

#endif /* VBOX_API_VERSION >= 3001 */

but still, will try to split the patch without breaking 3.1

Regards,
Pritesh




More information about the libvir-list mailing list