render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
952426
From 91bf4656fec73b8a083d7dae0a98490196f6dcbe Mon Sep 17 00:00:00 2001
952426
Message-Id: <91bf4656fec73b8a083d7dae0a98490196f6dcbe@dist-git>
952426
From: Michal Privoznik <mprivozn@redhat.com>
952426
Date: Fri, 16 Mar 2018 12:33:12 +0100
952426
Subject: [PATCH] virDomainDeviceDefValidateAliasesIterator: Ignore some
952426
 hostdevs
952426
952426
https://bugzilla.redhat.com/show_bug.cgi?id=1556828
952426
952426
When defining a domain that has <interface type='hostdev'/> our
952426
parser creates two entries in virDomainDef: one for <interface/>
952426
and one for <hostdev/>. However, some info is shared between the
952426
two which makes user alias validation fail because alias belongs
952426
to the set of shared info.
952426
952426
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
952426
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
952426
(cherry picked from commit 630c6e34957666f20a66167c7a512e65fc711aa0)
952426
952426
https://bugzilla.redhat.com/show_bug.cgi?id=1558655
952426
952426
Signed-off-by: Jiri Denemark <jdenemar@redhat.com>
952426
---
952426
 src/conf/domain_conf.c | 7 +++++++
952426
 1 file changed, 7 insertions(+)
952426
952426
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
952426
index a0c0702a6c..031d4b8e55 100644
952426
--- a/src/conf/domain_conf.c
952426
+++ b/src/conf/domain_conf.c
952426
@@ -5571,6 +5571,13 @@ virDomainDeviceDefValidateAliasesIterator(virDomainDefPtr def,
952426
         virDomainChrEquals(def->serials[0], dev->data.chr))
952426
         return 0;
952426
 
952426
+    if (dev->type == VIR_DOMAIN_DEVICE_HOSTDEV &&
952426
+        dev->data.hostdev->parent.type == VIR_DOMAIN_DEVICE_NET) {
952426
+        /* This hostdev is a copy of some previous interface.
952426
+         * Aliases are duplicated. */
952426
+        return 0;
952426
+    }
952426
+
952426
     if (virHashLookup(data->aliases, alias)) {
952426
         virReportError(VIR_ERR_XML_ERROR,
952426
                        _("non unique alias detected: %s"),
952426
-- 
952426
2.16.2
952426