[libvirt] [PATCH v1 02/15] qemu_domain: Separate NVRAM VAR store file name generation

Laszlo Ersek lersek at redhat.com
Thu Feb 28 09:11:12 UTC 2019


On 02/27/19 11:04, Michal Privoznik wrote:
> Move the code that (possibly) generates filename of NVRAM VAR
> store into a single function so that it can be re-used later.
> 
> Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
> ---
>  src/qemu/qemu_domain.c | 26 ++++++++++++++++++--------
>  src/qemu/qemu_domain.h |  4 ++++
>  2 files changed, 22 insertions(+), 8 deletions(-)
> 
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index 59fe1eb401..cf7e650b34 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -3876,14 +3876,8 @@ qemuDomainDefPostParse(virDomainDefPtr def,
>          goto cleanup;
>      }
>  
> -    if (def->os.loader &&
> -        def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH &&
> -        def->os.loader->readonly == VIR_TRISTATE_SWITCH_ON &&
> -        !def->os.loader->nvram) {
> -        if (virAsprintf(&def->os.loader->nvram, "%s/%s_VARS.fd",
> -                        cfg->nvramDir, def->name) < 0)
> -            goto cleanup;
> -    }
> +    if (qemuDomainNVRAMPathGenerate(cfg, def) < 0)
> +        goto cleanup;
>  
>      if (qemuDomainDefAddDefaultDevices(def, qemuCaps) < 0)
>          goto cleanup;
> @@ -13944,3 +13938,19 @@ qemuDomainDiskIsMissingLocalOptional(virDomainDiskDefPtr disk)
>             virStorageSourceIsLocalStorage(disk->src) && disk->src->path &&
>             !virFileExists(disk->src->path);
>  }
> +
> +
> +int
> +qemuDomainNVRAMPathGenerate(virQEMUDriverConfigPtr cfg,
> +                            virDomainDefPtr def)
> +{
> +    if (def->os.loader &&
> +        def->os.loader->type == VIR_DOMAIN_LOADER_TYPE_PFLASH &&
> +        def->os.loader->readonly == VIR_TRISTATE_SWITCH_ON &&
> +        !def->os.loader->nvram) {
> +        return virAsprintf(&def->os.loader->nvram, "%s/%s_VARS.fd",
> +                           cfg->nvramDir, def->name);
> +    }
> +
> +    return 0;
> +}
> diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h
> index 7c6b50184c..136a7a7c72 100644
> --- a/src/qemu/qemu_domain.h
> +++ b/src/qemu/qemu_domain.h
> @@ -1107,4 +1107,8 @@ qemuDomainIsUsingNoShutdown(qemuDomainObjPrivatePtr priv);
>  bool
>  qemuDomainDiskIsMissingLocalOptional(virDomainDiskDefPtr disk);
>  
> +int
> +qemuDomainNVRAMPathGenerate(virQEMUDriverConfigPtr cfg,
> +                            virDomainDefPtr def);
> +
>  #endif /* LIBVIRT_QEMU_DOMAIN_H */
> 

I'm not familiar with restrictions on helper functions (e.g. if they are
supposed to sanity check input params for null pointers etc), but as a
normal code extraction patch, this looks OK to me.

Also presumably the other call will arrive from a different C file,
hence the external linkage and header file change.

Reviewed-by: Laszlo Ersek <lersek at redhat.com>

Thanks
Laszlo




More information about the libvir-list mailing list