On Wed, May 23, 2018 at 18:17:58 +0200, Andrea Bolognani wrote:
> This doesn't seem very useful at the moment, but it will make
> sense once we introduce another HPT-related setting.
> 
> The output XML is decoupled from the input XML in preparation
> of future changes as well; while doing so, we can shave a few
> lines off the latter.
> 
> This commit is best viewed with 'git show -w'.
> 
> Signed-off-by: Andrea Bolognani <abolo...@redhat.com>
> ---
>  src/conf/domain_conf.c                        | 25 ++++++++++++---
>  src/qemu/qemu_command.c                       | 32 ++++++++++---------
>  tests/qemuxml2argvdata/pseries-features.xml   | 14 ++------
>  tests/qemuxml2xmloutdata/pseries-features.xml | 29 ++++++++++++++++-
>  4 files changed, 68 insertions(+), 32 deletions(-)
>  mode change 120000 => 100644 tests/qemuxml2xmloutdata/pseries-features.xml
> 
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 355e497002..20b845f02a 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -27207,14 +27207,31 @@ virDomainDefFormatInternal(virDomainDefPtr def,
>                                    
> virDomainIOAPICTypeToString(def->features[i]));
>                  break;
>  
> -            case VIR_DOMAIN_FEATURE_HPT:
> +            case VIR_DOMAIN_FEATURE_HPT: {
> +                bool hasResizing = def->hpt_resizing != 
> VIR_DOMAIN_HPT_RESIZING_NONE;
> +                char *resizing = NULL;
> +
>                  if (def->features[i] != VIR_TRISTATE_SWITCH_ON ||
> -                    def->hpt_resizing == VIR_DOMAIN_HPT_RESIZING_NONE)
> +                    !hasResizing) {
>                      break;
> +                }
> +
> +                if (hasResizing) {
> +                    if (virAsprintf(&resizing, " resizing='%s'",
> +                                    
> virDomainHPTResizingTypeToString(def->hpt_resizing)) < 0) {
> +                        goto error;
> +                    }
> +                } else {
> +                    if (VIR_STRDUP(resizing, "") < 0)
> +                        goto error;
> +                }
>  
> -                virBufferAsprintf(buf, "<hpt resizing='%s'/>\n",
> -                                  
> virDomainHPTResizingTypeToString(def->hpt_resizing));
> +                virBufferAsprintf(buf, "<hpt%s/>\n",

This formulation looks fishy.

> +                                  resizing);
> +
> +                VIR_FREE(resizing);
>                  break;
> +            }
>  
>              /* coverity[dead_error_begin] */
>              case VIR_DOMAIN_FEATURE_LAST:

Attachment: signature.asc
Description: PGP signature

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Reply via email to