[libvirt] [PATCH v1 6/6] ivshmem: add start param to server attribute

Wang Rui moon.wangrui at huawei.com
Tue Aug 26 09:58:19 UTC 2014


On 2014/8/22 18:47, Maxime Leroy wrote:

> +# util/virivshmemserver.h
> +virStartIvshmemServer;
> +virStopIvshmemServer;

I think function name virIvshmemStartServer is better.
So is the stop function.

> @@ -5120,6 +5121,12 @@ qemuBuildIvshmemCommandLine(virCommandPtr cmd,
>                  return -1;
>              virCommandAddArg(cmd, devstr);
>              VIR_FREE(devstr);
> +
> +            if (ivshmem->server.start == VIR_TRISTATE_BOOL_YES) {
> +                if (virStartIvshmemServer(dev->name, ivshmem->server.path,
> +                                          ivshmem->size, ivshmem->msi.vectors))
> +                    return -1;
> +            }
>      }

I'm not sure that calling virStartIvshmemServer in qemuBuildIvshmemCommandLine
is the best way. Maybe qemuBuild*CommandLine() usually only build commandline.

>  
>      return 0;
> diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
> index baa866a..aaf03a3 100644
> --- a/src/qemu/qemu_process.c
> +++ b/src/qemu/qemu_process.c
> @@ -67,6 +67,7 @@
>  #include "virstring.h"
>  #include "virhostdev.h"
>  #include "storage/storage_driver.h"
> +#include "virivshmemserver.h"
>  
>  #define VIR_FROM_THIS VIR_FROM_QEMU
>  
> @@ -4684,6 +4685,15 @@ void qemuProcessStop(virQEMUDriverPtr driver,
>          }
>      }
>  
> +    /* stop runnning ivshmem server */
> +    for (i = 0; i < vm->def->nshmems; i++) {
> +        virDomainShmemDefPtr shmem =  vm->def->shmems[i];
> +        if (shmem->model == VIR_DOMAIN_SHMEM_MODEL_IVSHMEM &&

You can use switch (for extension other shmem in future).





More information about the libvir-list mailing list