[libvirt] [PATCHv2 12/21] fix fallout in src/uml

Michal Privoznik mprivozn at redhat.com
Thu Mar 7 16:35:45 UTC 2013


On 06.03.2013 16:37, Peter Krempa wrote:
> ---
>  src/uml/uml_conf.h   |  1 +
>  src/uml/uml_driver.c | 32 ++++++++++++++++++++------------
>  2 files changed, 21 insertions(+), 12 deletions(-)
> 
> diff --git a/src/uml/uml_conf.h b/src/uml/uml_conf.h
> index ff71b45..488c1b7 100644
> --- a/src/uml/uml_conf.h
> +++ b/src/uml/uml_conf.h
> @@ -63,6 +63,7 @@ struct uml_driver {
>      int inotifyWatch;
> 
>      virCapsPtr caps;
> +    virDomainXMLConfPtr xmlconf;
> 
>      /* Event handling */
>      virDomainEventStatePtr domainEventState;
> diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c
> index 63a807a..ab68a68 100644
> --- a/src/uml/uml_driver.c
> +++ b/src/uml/uml_driver.c
> @@ -433,7 +433,12 @@ umlStartup(bool privileged,
>      char *base = NULL;
>      char *userdir = NULL;
> 
> -    if (VIR_ALLOC(uml_driver) < 0)
> +    virDomainXMLPrivateDataCallbacks privcb = {
> +        .alloc = umlDomainObjPrivateAlloc,
> +        .free = umlDomainObjPrivateFree,
> +    };
> +
> +     if (VIR_ALLOC(uml_driver) < 0)
>          return -1;

indent

> 
>      uml_driver->privileged = privileged;
> @@ -500,10 +505,11 @@ umlStartup(bool privileged,
>      if ((uml_driver->caps = umlCapsInit()) == NULL)
>          goto out_of_memory;
> 
> -    uml_driver->caps->privateDataAllocFunc = umlDomainObjPrivateAlloc;
> -    uml_driver->caps->privateDataFreeFunc = umlDomainObjPrivateFree;
> +    if (!(uml_driver->xmlconf = virDomainXMLConfNew(&privcb,
> +                                                    NULL)))
> +        goto error;
> 
> -    if ((uml_driver->inotifyFD = inotify_init()) < 0) {
> +   if ((uml_driver->inotifyFD = inotify_init()) < 0) {

indent

>          VIR_ERROR(_("cannot initialize inotify"));
>          goto error;
>      }
> @@ -537,6 +543,7 @@ umlStartup(bool privileged,
> 
>      if (virDomainObjListLoadAllConfigs(uml_driver->domains,
>                                         uml_driver->caps,
> +                                       uml_driver->xmlconf,
>                                         uml_driver->configDir,
>                                         uml_driver->autostartDir,
>                                         0, 1 << VIR_DOMAIN_VIRT_UML,
> @@ -592,6 +599,7 @@ umlReload(void) {
>      umlDriverLock(uml_driver);
>      virDomainObjListLoadAllConfigs(uml_driver->domains,
>                                     uml_driver->caps,
> +                                   uml_driver->xmlconf,
>                                     uml_driver->configDir,
>                                     uml_driver->autostartDir,
>                                     0, 1 << VIR_DOMAIN_VIRT_UML,
> @@ -1055,7 +1063,7 @@ static int umlStartVMDaemon(virConnectPtr conn,
>       * report implicit runtime defaults in the XML, like vnc listen/socket
>       */
>      VIR_DEBUG("Setting current domain def as transient");
> -    if (virDomainObjSetDefTransient(driver->caps, vm, true) < 0) {
> +    if (virDomainObjSetDefTransient(driver->caps, driver->xmlconf, vm, true) < 0) {

Do you mind wrapping this long line?

>          VIR_FORCE_CLOSE(logfd);
>          return -1;
>      }
> @@ -1088,7 +1096,7 @@ static int umlStartVMDaemon(virConnectPtr conn,
>          (ret = umlProcessAutoDestroyAdd(driver, vm, conn)) < 0)
>          goto cleanup;
> 
> -    ret = virDomainObjSetDefTransient(driver->caps, vm, false);
> +    ret = virDomainObjSetDefTransient(driver->caps, driver->xmlconf, vm, false);
>  cleanup:
>      VIR_FORCE_CLOSE(logfd);
>      virCommandFree(cmd);
> @@ -1495,13 +1503,13 @@ static virDomainPtr umlDomainCreate(virConnectPtr conn, const char *xml,
>      virCheckFlags(VIR_DOMAIN_START_AUTODESTROY, NULL);
> 
>      umlDriverLock(driver);
> -    if (!(def = virDomainDefParseString(driver->caps, xml,
> -                                        1 << VIR_DOMAIN_VIRT_UML,
> +    if (!(def = virDomainDefParseString(driver->caps, driver->xmlconf,
> +                                        xml, 1 << VIR_DOMAIN_VIRT_UML,
>                                          VIR_DOMAIN_XML_INACTIVE)))
>          goto cleanup;
> 
>      if (!(vm = virDomainObjListAdd(driver->domains,
> -                                   driver->caps,
> +                                   driver->xmlconf,
>                                     def,
>                                     VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
>                                     NULL)))
> @@ -1916,13 +1924,13 @@ static virDomainPtr umlDomainDefine(virConnectPtr conn, const char *xml) {
>      virDomainPtr dom = NULL;
> 
>      umlDriverLock(driver);
> -    if (!(def = virDomainDefParseString(driver->caps, xml,
> -                                        1 << VIR_DOMAIN_VIRT_UML,
> +    if (!(def = virDomainDefParseString(driver->caps, driver->xmlconf,
> +                                        xml, 1 << VIR_DOMAIN_VIRT_UML,
>                                          VIR_DOMAIN_XML_INACTIVE)))
>          goto cleanup;
> 
>      if (!(vm = virDomainObjListAdd(driver->domains,
> -                                   driver->caps,
> +                                   driver->xmlconf,
>                                     def,
>                                     0, NULL)))
>          goto cleanup;
> 




More information about the libvir-list mailing list