Split out parts of the config parsing code to make the parent function easier to read. Signed-off-by: Ján Tomko <jtomko@xxxxxxxxxx> --- 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@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list