[libvirt] [PATCH 11/23] qemu_conf: split out virQEMUDriverConfigLoadNetworkEntry

Ján Tomko posted 23 patches 7 years ago
[libvirt] [PATCH 11/23] qemu_conf: split out virQEMUDriverConfigLoadNetworkEntry
Posted by Ján Tomko 7 years ago
Split out parts of the config parsing code to make
the parent function easier to read.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
---
 src/qemu/qemu_conf.c | 99 +++++++++++++++++++++++++-------------------
 1 file changed, 56 insertions(+), 43 deletions(-)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index b7d258f17a..8aa5157cd1 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -423,6 +423,60 @@ virQEMUDriverConfigHugeTLBFSInit(virHugeTLBFSPtr hugetlbfs,
 }
 
 
+static int
+virQEMUDriverConfigLoadNetworkEntry(virQEMUDriverConfigPtr cfg,
+                                    virConfPtr conf,
+                                    const char *filename)
+{
+    if (virConfGetValueUInt(conf, "migration_port_min", &cfg->migrationPortMin) < 0)
+        return -1;
+    if (cfg->migrationPortMin <= 0) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                       _("%s: migration_port_min: port must be greater than 0"),
+                        filename);
+        return -1;
+    }
+
+    if (virConfGetValueUInt(conf, "migration_port_max", &cfg->migrationPortMax) < 0)
+        return -1;
+    if (cfg->migrationPortMax > 65535 ||
+        cfg->migrationPortMax < cfg->migrationPortMin) {
+        virReportError(VIR_ERR_INTERNAL_ERROR,
+                        _("%s: migration_port_max: port must be between "
+                          "the minimal port %d and 65535"),
+                       filename, cfg->migrationPortMin);
+        return -1;
+    }
+
+    if (virConfGetValueString(conf, "migration_host", &cfg->migrateHost) < 0)
+        return -1;
+    virStringStripIPv6Brackets(cfg->migrateHost);
+    if (cfg->migrateHost &&
+        (STRPREFIX(cfg->migrateHost, "localhost") ||
+         virSocketAddrIsNumericLocalhost(cfg->migrateHost))) {
+        virReportError(VIR_ERR_CONF_SYNTAX,
+                       _("migration_host must not be the address of"
+                         " the local machine: %s"),
+                       cfg->migrateHost);
+        return -1;
+    }
+
+    if (virConfGetValueString(conf, "migration_address", &cfg->migrationAddress) < 0)
+        return -1;
+    virStringStripIPv6Brackets(cfg->migrationAddress);
+    if (cfg->migrationAddress &&
+        (STRPREFIX(cfg->migrationAddress, "localhost") ||
+         virSocketAddrIsNumericLocalhost(cfg->migrationAddress))) {
+        virReportError(VIR_ERR_CONF_SYNTAX,
+                       _("migration_address must not be the address of"
+                         " the local machine: %s"),
+                       cfg->migrationAddress);
+        return -1;
+    }
+
+    return 0;
+}
+
 static int
 virQEMUDriverConfigLoadLogEntry(virQEMUDriverConfigPtr cfg,
                                 virConfPtr conf)
@@ -788,25 +842,6 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
         goto cleanup;
     }
 
-    if (virConfGetValueUInt(conf, "migration_port_min", &cfg->migrationPortMin) < 0)
-        goto cleanup;
-    if (cfg->migrationPortMin <= 0) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("%s: migration_port_min: port must be greater than 0"),
-                        filename);
-        goto cleanup;
-    }
-
-    if (virConfGetValueUInt(conf, "migration_port_max", &cfg->migrationPortMax) < 0)
-        goto cleanup;
-    if (cfg->migrationPortMax > 65535 ||
-        cfg->migrationPortMax < cfg->migrationPortMin) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                        _("%s: migration_port_max: port must be between "
-                          "the minimal port %d and 65535"),
-                       filename, cfg->migrationPortMin);
-        goto cleanup;
-    }
 
     if (virConfGetValueString(conf, "save_image_format", &cfg->saveImageFormat) < 0)
         goto cleanup;
@@ -858,6 +893,7 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
         goto cleanup;
     if (virConfGetValueBool(conf, "clear_emulator_capabilities", &cfg->clearEmulatorCapabilities) < 0)
         goto cleanup;
+
     if ((rv = virConfGetValueBool(conf, "allow_disk_format_probing", &tmp)) < 0)
         goto cleanup;
     if (rv == 1 && tmp) {
@@ -918,31 +954,8 @@ int virQEMUDriverConfigLoadFile(virQEMUDriverConfigPtr cfg,
     if (virConfGetValueUInt(conf, "keepalive_count", &cfg->keepAliveCount) < 0)
         goto cleanup;
 
-    if (virConfGetValueString(conf, "migration_host", &cfg->migrateHost) < 0)
+    if (virQEMUDriverConfigLoadNetworkEntry(cfg, conf, filename) < 0)
         goto cleanup;
-    virStringStripIPv6Brackets(cfg->migrateHost);
-    if (cfg->migrateHost &&
-        (STRPREFIX(cfg->migrateHost, "localhost") ||
-         virSocketAddrIsNumericLocalhost(cfg->migrateHost))) {
-        virReportError(VIR_ERR_CONF_SYNTAX,
-                       _("migration_host must not be the address of"
-                         " the local machine: %s"),
-                       cfg->migrateHost);
-        goto cleanup;
-    }
-
-    if (virConfGetValueString(conf, "migration_address", &cfg->migrationAddress) < 0)
-        goto cleanup;
-    virStringStripIPv6Brackets(cfg->migrationAddress);
-    if (cfg->migrationAddress &&
-        (STRPREFIX(cfg->migrationAddress, "localhost") ||
-         virSocketAddrIsNumericLocalhost(cfg->migrationAddress))) {
-        virReportError(VIR_ERR_CONF_SYNTAX,
-                       _("migration_address must not be the address of"
-                         " the local machine: %s"),
-                       cfg->migrationAddress);
-        goto cleanup;
-    }
 
     if (virQEMUDriverConfigLoadLogEntry(cfg, conf) < 0)
         goto cleanup;
-- 
2.20.1

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH 11/23] qemu_conf: split out virQEMUDriverConfigLoadNetworkEntry
Posted by John Ferlan 7 years ago

On 1/15/19 8:23 AM, Ján Tomko wrote:
> Split out parts of the config parsing code to make
> the parent function easier to read.
> 
> Signed-off-by: Ján Tomko <jtomko@redhat.com>
> ---
>  src/qemu/qemu_conf.c | 99 +++++++++++++++++++++++++-------------------
>  1 file changed, 56 insertions(+), 43 deletions(-)
> 
> diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
> index b7d258f17a..8aa5157cd1 100644
> --- a/src/qemu/qemu_conf.c
> +++ b/src/qemu/qemu_conf.c
> @@ -423,6 +423,60 @@ virQEMUDriverConfigHugeTLBFSInit(virHugeTLBFSPtr hugetlbfs,
>  }
>  
>  
> +static int
> +virQEMUDriverConfigLoadNetworkEntry(virQEMUDriverConfigPtr cfg,
> +                                    virConfPtr conf,
> +                                    const char *filename)
> +{
> +    if (virConfGetValueUInt(conf, "migration_port_min", &cfg->migrationPortMin) < 0)
> +        return -1;
> +    if (cfg->migrationPortMin <= 0) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR,
> +                       _("%s: migration_port_min: port must be greater than 0"),
> +                        filename);
> +        return -1;
> +    }
> +
> +    if (virConfGetValueUInt(conf, "migration_port_max", &cfg->migrationPortMax) < 0)
> +        return -1;
> +    if (cfg->migrationPortMax > 65535 ||
> +        cfg->migrationPortMax < cfg->migrationPortMin) {
> +        virReportError(VIR_ERR_INTERNAL_ERROR,
> +                        _("%s: migration_port_max: port must be between "
> +                          "the minimal port %d and 65535"),
> +                       filename, cfg->migrationPortMin);
> +        return -1;
> +    }
> +
> +    if (virConfGetValueString(conf, "migration_host", &cfg->migrateHost) < 0)
> +        return -1;
> +    virStringStripIPv6Brackets(cfg->migrateHost);
> +    if (cfg->migrateHost &&
> +        (STRPREFIX(cfg->migrateHost, "localhost") ||
> +         virSocketAddrIsNumericLocalhost(cfg->migrateHost))) {
> +        virReportError(VIR_ERR_CONF_SYNTAX,
> +                       _("migration_host must not be the address of"
> +                         " the local machine: %s"),
> +                       cfg->migrateHost);
> +        return -1;
> +    }
> +
> +    if (virConfGetValueString(conf, "migration_address", &cfg->migrationAddress) < 0)
> +        return -1;
> +    virStringStripIPv6Brackets(cfg->migrationAddress);
> +    if (cfg->migrationAddress &&
> +        (STRPREFIX(cfg->migrationAddress, "localhost") ||
> +         virSocketAddrIsNumericLocalhost(cfg->migrationAddress))) {
> +        virReportError(VIR_ERR_CONF_SYNTAX,
> +                       _("migration_address must not be the address of"
> +                         " the local machine: %s"),
> +                       cfg->migrationAddress);
> +        return -1;
> +    }
> +
> +    return 0;
> +}
> +

blank line

Reviewed-by: John Ferlan <jferlan@redhat.com>

John
[...]

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