On Tue, Sep 29, 2015 at 18:38:05 +0200, Peter Krempa wrote:
Rename the function to virDomainDefCheckDuplicateDiskInfo and make
it
check disk serials too.
Resolves:
https://bugzilla.redhat.com/show_bug.cgi?id=1245013
---
src/conf/domain_conf.c | 15 ++++++++++++++-
src/conf/domain_conf.h | 2 +-
src/libvirt_private.syms | 2 +-
src/qemu/qemu_process.c | 2 +-
4 files changed, 17 insertions(+), 4 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 393ece7..e9d61db 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -24451,7 +24451,7 @@ virDomainDefNeedsPlacementAdvice(virDomainDefPtr def)
int
-virDomainDefCheckDuplicateDiskWWN(virDomainDefPtr def)
+virDomainDefCheckDuplicateDiskInfo(virDomainDefPtr def)
{
size_t i;
size_t j;
@@ -24469,6 +24469,19 @@ virDomainDefCheckDuplicateDiskWWN(virDomainDefPtr def)
}
}
}
+
+ if (def->disks[i]->serial) {
+ for (j = i + 1; j < def->ndisks; j++) {
+ if (STREQ_NULLABLE(def->disks[i]->serial,
+ def->disks[j]->serial)) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("Disks '%s' and '%s' have
identical serial"),
+ def->disks[i]->dst,
+ def->disks[j]->dst);
+ return -1;
+ }
+ }
+ }
Any reason for going through all disks twice? Wouldn't it be better to
go through them once and check for both serial and wwn within a single
loop? :-)
Jirka