[libvirt] [PATCH 04/11] vz: build driver as module and don't register it on client's side

Nikolay Shirokovskiy nshirokovskiy at virtuozzo.com
Fri Apr 1 10:27:34 UTC 2016



On 29.03.2016 15:45, Maxim Nestratov wrote:
> Make it possible to build vz driver as a module and don't link it with
> libvirt.so statically.
> Remove registering it on client's side as far as we start relying on daemon
> 
> Signed-off-by: Maxim Nestratov <mnestratov at virtuozzo.com>
> ---
>  daemon/Makefile.am |  4 ++++
>  daemon/libvirtd.c  |  9 +++++++++
>  src/Makefile.am    | 21 ++++++++++++++++-----
>  src/libvirt.c      |  7 -------
>  src/vz/vz_driver.c | 27 +++++++++++++++++++++++++--
>  5 files changed, 54 insertions(+), 14 deletions(-)
> 

...

> diff --git a/src/Makefile.am b/src/Makefile.am
> index dad7bab..b26be1b 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -629,6 +629,7 @@ DRIVER_SOURCE_FILES = \
>  	$(NULL)
>  
>  STATEFUL_DRIVER_SOURCE_FILES = \
> +	$(VZ_DRIVER_SOURCES) \
>  	$(BHYVE_DRIVER_SOURCES) \
>  	$(INTERFACE_DRIVER_SOURCES) \
>  	$(LIBXL_DRIVER_SOURCES) \
> @@ -885,7 +886,9 @@ HYPERV_DRIVER_EXTRA_DIST =							\
>  		hyperv/hyperv_wmi_generator.py					\
>  		$(HYPERV_DRIVER_GENERATED)
>  
> -VZ_DRIVER_SOURCES =					\
> +VZ_DRIVER_SOURCES =				\
> +		datatypes.c             	\
> +		util/vircommand.c		\

looks like should not be here

...

> diff --git a/src/vz/vz_driver.c b/src/vz/vz_driver.c
> index 9de88cd..d3dcf3d 100644
> --- a/src/vz/vz_driver.c
> +++ b/src/vz/vz_driver.c
> @@ -1561,6 +1561,26 @@ static virConnectDriver vzConnectDriver = {
>      .hypervisorDriver = &vzDriver,
>  };
>  
> +static int
> +vzStateCleanup(void)
> +{
> +    return 0;
> +}
> +
> +static int
> +vzStateInitialize(bool privileged ATTRIBUTE_UNUSED,
> +                  virStateInhibitCallback callback ATTRIBUTE_UNUSED,
> +                  void *opaque ATTRIBUTE_UNUSED)
> +{
> +    return 0;
> +}
> +
> +static virStateDriver vzStateDriver = {
> +    .name = "vz",
> +    .stateInitialize = vzStateInitialize,
> +    .stateCleanup = vzStateCleanup,
> +};
> +
>  /* Parallels domain type backward compatibility*/
>  static virHypervisorDriver parallelsDriver;
>  static virConnectDriver parallelsConnectDriver;
> @@ -1588,10 +1608,13 @@ vzRegister(void)
>      parallelsDriver.name = "Parallels";
>      parallelsConnectDriver = vzConnectDriver;
>      parallelsConnectDriver.hypervisorDriver = ¶llelsDriver;
> -    if (virRegisterConnectDriver(&parallelsConnectDriver, false) < 0)
> +    if (virRegisterConnectDriver(&parallelsConnectDriver, true) < 0)
> +        return -1;
> +
> +    if (virRegisterConnectDriver(&vzConnectDriver, true) < 0)
>          return -1;
>  
> -    if (virRegisterConnectDriver(&vzConnectDriver, false) < 0)
> +    if (virRegisterStateDriver(&vzStateDriver) < 0)
>          return -1;
>  
>      return 0;
> 

i would move this hunk to the patch that adds cleanup and init the essense.

Nikolay




More information about the libvir-list mailing list