]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Add helper to return a bitmap of active iothread ids
authorPeter Krempa <pkrempa@redhat.com>
Wed, 13 Jan 2016 12:06:56 +0000 (13:06 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 5 Feb 2016 15:21:45 +0000 (16:21 +0100)
src/conf/domain_conf.c
src/conf/domain_conf.h
src/libvirt_private.syms

index 187495c6fd02521811df4a7eec3c3181c790dcaa..5b61bde567438e2ac8b78df89aa50034616ec616 100644 (file)
@@ -18411,6 +18411,35 @@ virDomainIOThreadIDAdd(virDomainDefPtr def,
     return NULL;
 }
 
+
+/*
+ * virDomainIOThreadIDMap:
+ * @def: domain definition
+ *
+ * Returns a map of active iothreads for @def.
+ */
+virBitmapPtr
+virDomainIOThreadIDMap(virDomainDefPtr def)
+{
+    unsigned int max = 0;
+    size_t i;
+    virBitmapPtr ret = NULL;
+
+    for (i = 0; i < def->niothreadids; i++) {
+        if (def->iothreadids[i]->iothread_id > max)
+            max = def->iothreadids[i]->iothread_id;
+    }
+
+    if (!(ret = virBitmapNew(max)))
+        return NULL;
+
+    for (i = 0; i < def->niothreadids; i++)
+        ignore_value(virBitmapSetBit(ret, def->iothreadids[i]->iothread_id));
+
+    return ret;
+}
+
+
 void
 virDomainIOThreadIDDel(virDomainDefPtr def,
                        unsigned int iothread_id)
index 79060bcd4bbb6c95733f98af6451a9a2b53998e6..83a080b4a4b71bb5d2ac71fc106f8641868d19fe 100644 (file)
@@ -2728,6 +2728,9 @@ virDomainIOThreadIDDefPtr virDomainIOThreadIDFind(virDomainDefPtr def,
                                                   unsigned int iothread_id);
 virDomainIOThreadIDDefPtr virDomainIOThreadIDAdd(virDomainDefPtr def,
                                                  unsigned int iothread_id);
+
+virBitmapPtr virDomainIOThreadIDMap(virDomainDefPtr def)
+    ATTRIBUTE_NONNULL(1) ATTRIBUTE_RETURN_CHECK;
 void virDomainIOThreadIDDel(virDomainDefPtr def, unsigned int iothread_id);
 void virDomainIOThreadSchedDelId(virDomainDefPtr def, unsigned int iothread_id);
 
index ddc6e14836f561714845eb177b9ad5e064cedb47..276aacfe5e601879c68a4718234bb378e69fceff 100644 (file)
@@ -345,6 +345,7 @@ virDomainIOThreadIDAdd;
 virDomainIOThreadIDDefFree;
 virDomainIOThreadIDDel;
 virDomainIOThreadIDFind;
+virDomainIOThreadIDMap;
 virDomainIOThreadSchedDelId;
 virDomainKeyWrapCipherNameTypeFromString;
 virDomainKeyWrapCipherNameTypeToString;