]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Enable cold-plug of a mediated device
authorErik Skultety <eskultet@redhat.com>
Fri, 3 Feb 2017 12:29:37 +0000 (13:29 +0100)
committerErik Skultety <eskultet@redhat.com>
Mon, 27 Mar 2017 13:39:35 +0000 (15:39 +0200)
This merely introduces virDomainHostdevMatchSubsysMediatedDev method that
is supposed to check whether device being cold-plugged does not already
exist in the domain configuration.

Signed-off-by: Erik Skultety <eskultet@redhat.com>
src/conf/domain_conf.c

index fa8118137c925991839f967d082be836d873ba21..ee126cc8a20bb4565f186f1957caec2dc869974c 100644 (file)
@@ -14375,6 +14375,19 @@ virDomainHostdevMatchSubsysSCSIiSCSI(virDomainHostdevDefPtr first,
     return 0;
 }
 
+static int
+virDomainHostdevMatchSubsysMediatedDev(virDomainHostdevDefPtr a,
+                                       virDomainHostdevDefPtr b)
+{
+    virDomainHostdevSubsysMediatedDevPtr src_a = &a->source.subsys.u.mdev;
+    virDomainHostdevSubsysMediatedDevPtr src_b = &b->source.subsys.u.mdev;
+
+    if (STREQ(src_a->uuidstr, src_b->uuidstr))
+        return 1;
+
+    return 0;
+}
+
 static int
 virDomainHostdevMatchSubsys(virDomainHostdevDefPtr a,
                             virDomainHostdevDefPtr b)
@@ -14406,6 +14419,7 @@ virDomainHostdevMatchSubsys(virDomainHostdevDefPtr a,
         else
             return 0;
     case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV:
+        return virDomainHostdevMatchSubsysMediatedDev(a, b);
     case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_LAST:
         return 0;
     }