[libvirt] [Libvirt][PATCH] ESX: Fix ESX_VI__TEMPLATE__DYNAMIC_DEEP_COPY
Ata E Husain
ata.husain at hotmail.com
Mon Jul 23 03:10:26 UTC 2012
Thanks for reviewing the patch Matthias!
-----Original Message-----
From: Matthias Bolte [mailto:matthias.bolte at googlemail.com]
Sent: Saturday, July 21, 2012 2:39 PM
To: Ata E Husain Bohra
Cc: libvirt-list at redhat.com
Subject: Re: [libvirt] [Libvirt][PATCH] ESX: Fix ESX_VI__TEMPLATE__DYNAMIC_DEEP_COPY
2012/7/19 Ata E Husain Bohra <ata.husain at hotmail.com>:
> Fix addresses two issues:
> 1. Fix generator code to allow deep copy operation for objects with
> Dynamic_Cast capabilities.
> 2. Add missing deep copy routine to Long datatype.
> Signed-off-by: Ata E Husain Bohra <ata.husain at hotmail.com>
True, deep copy + dynamic dispatch is broken. This combination wasn't tested as no VI type used it until now.
> index 844fb65..8211c93 100644
> --- a/src/esx/esx_vi_types.c
> +++ b/src/esx/esx_vi_types.c
> @@ -549,6 +549,21 @@
> }
>
>
> +#define ESX_VI__TEMPLATE__DEEPCOPY_DISPATCH(_actual_type, __type, _dispatch, \
> + _error_return) \
> + switch (_actual_type) { \
> + _dispatch \
> + \
> + case esxVI_Type_##__type: \
> + break; \
> + \
> + default: \
> + ESX_VI_ERROR(VIR_ERR_INTERNAL_ERROR, \
> + _("Call to %s for unexpected type '%s'"), __FUNCTION__, \
> + esxVI_Type_ToString(_actual_type)); \
> + return _error_return; \
> + }
> +
No need for this extra copy of the ESX_VI__TEMPLATE__DISPATCH macro, I'll remove it before pushing.
ACK and pushed, thanks.
--
Matthias Bolte
http://photron.blogspot.com
More information about the libvir-list
mailing list