[libvirt] [PATCH 3/4] storage: Introduce virStoragePoolObjFindPoolByUUID

John Ferlan jferlan at redhat.com
Wed Nov 4 21:58:48 UTC 2015


Add a new API to search the currently defined pool list for a pool with
a matching UUID and return the locked pool object pointer.

Signed-off-by: John Ferlan <jferlan at redhat.com>
---
 src/storage/storage_driver.c | 21 +++++++++++++++++++++
 src/storage/storage_driver.h |  3 +++
 2 files changed, 24 insertions(+)

diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index aeb67a7..bbf21f6 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -3370,3 +3370,24 @@ virStorageTranslateDiskSourcePool(virConnectPtr conn,
     virStoragePoolDefFree(pooldef);
     return ret;
 }
+
+
+/*
+ * virStoragePoolObjFindPoolByUUID
+ * @uuid: The uuid to lookup
+ *
+ * Using the passed @uuid, search the driver pools for a matching uuid.
+ * If found, then lock the pool
+ *
+ * Returns NULL if pool is not found or a locked pool object pointer
+ */
+virStoragePoolObjPtr
+virStoragePoolObjFindPoolByUUID(const unsigned char *uuid)
+{
+    virStoragePoolObjPtr pool;
+
+    storageDriverLock();
+    pool = virStoragePoolObjFindByUUID(&driver->pools, uuid);
+    storageDriverUnlock();
+    return pool;
+}
diff --git a/src/storage/storage_driver.h b/src/storage/storage_driver.h
index 4f28dc1..912c232 100644
--- a/src/storage/storage_driver.h
+++ b/src/storage/storage_driver.h
@@ -57,6 +57,9 @@ int virStorageFileGetMetadata(virStorageSourcePtr src,
 int virStorageTranslateDiskSourcePool(virConnectPtr conn,
                                       virDomainDiskDefPtr def);
 
+virStoragePoolObjPtr virStoragePoolObjFindPoolByUUID(const unsigned char *uuid)
+    ATTRIBUTE_NONNULL(1);
+
 virStoragePoolPtr
 storagePoolLookupByTargetPath(virConnectPtr conn,
                               const char *path)
-- 
2.1.0




More information about the libvir-list mailing list