Now that we have a good place for this check let's move it there. --- src/conf/domain_conf.c | 11 +++++++---- src/conf/domain_conf.h | 6 ++---- src/libvirt_private.syms | 1 - src/qemu/qemu_process.c | 3 --- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 7359dc7..2beb825 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -24263,8 +24263,8 @@ virDomainDefNeedsPlacementAdvice(virDomainDefPtr def) int -virDomainDiskDefCheckDuplicateInfo(virDomainDiskDefPtr a, - virDomainDiskDefPtr b) +virDomainDiskDefCheckDuplicateInfo(const virDomainDiskDef *a, + const virDomainDiskDef *b) { if (STREQ(a->dst, b->dst)) { virReportError(VIR_ERR_XML_ERROR, @@ -24293,8 +24293,8 @@ virDomainDiskDefCheckDuplicateInfo(virDomainDiskDefPtr a, } -int -virDomainDefCheckDuplicateDiskInfo(virDomainDefPtr def) +static int +virDomainDefCheckDuplicateDiskInfo(const virDomainDef *def) { size_t i; size_t j; @@ -24392,6 +24392,9 @@ virDomainDefValidate(const virDomainDef *def) /* check configuration of individual devices */ VIR_DOMAIN_DEF_VALIDATE_DEVICES(disk, virDomainDiskDefValidate); + if (virDomainDefCheckDuplicateDiskInfo(def) < 0) + return -1; + return 0; } diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index f2704c0..3c219ea 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3160,11 +3160,9 @@ virDomainParseMemory(const char *xpath, bool virDomainDefNeedsPlacementAdvice(virDomainDefPtr def) ATTRIBUTE_NONNULL(1); -int virDomainDiskDefCheckDuplicateInfo(virDomainDiskDefPtr a, - virDomainDiskDefPtr b) +int virDomainDiskDefCheckDuplicateInfo(const virDomainDiskDef *a, + const virDomainDiskDef *b) ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2); -int virDomainDefCheckDuplicateDiskInfo(virDomainDefPtr def) - ATTRIBUTE_NONNULL(1); int virDomainDefGetVcpuPinInfoHelper(virDomainDefPtr def, int maplen, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index cc5d6c9..99975ed 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -206,7 +206,6 @@ virDomainDefAddController; virDomainDefAddImplicitDevices; virDomainDefAddUSBController; virDomainDefCheckABIStability; -virDomainDefCheckDuplicateDiskInfo; virDomainDefClearCCWAddresses; virDomainDefClearDeviceAliases; virDomainDefClearPCIAddresses; diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index ae435e4..15c0bf9 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4627,9 +4627,6 @@ qemuProcessStartValidateXML(virDomainObjPtr vm, if (!migration && !snapshot) { if (qemuDomainDefValidate(vm->def) < 0) return -1; - - if (virDomainDefCheckDuplicateDiskInfo(vm->def) < 0) - return -1; } /* checks below validate config that would make qemu fail to start */ -- 2.8.2 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list