[PATCH] virDrvStorageVolLookupByKey and virDrvStorageVolLookupByPath should use virStoragePoolPtr as parameter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

These two functions, virDrvStorageVolLookupByKey and virDrvStorageVolLookupByPath should use virStoragePoolPtr as parameter instead of virConnectPtr for some few reasons:

1) Should follow the standard virStorage*Ptr parameters like the rest of storage related functions.

2) Functions now are able to access pool structure. This is particularly important for the optimization of the PowerHypervisor phypVolumeLookupByKey function.

Thanks,

--
Eduardo Otubo
Software Engineer
Linux Technology Center
IBM Systems & Technology Group
Mobile: +55 19 8135 0885
eotubo@xxxxxxxxxxxxxxxxxx

--

diff --git a/src/driver.h b/src/driver.h
index 0975b59..bb05306 100644
--- a/src/driver.h
+++ b/src/driver.h
@@ -798,10 +798,10 @@ typedef virStorageVolPtr
     (*virDrvStorageVolLookupByName)          (virStoragePoolPtr pool,
                                               const char *name);
 typedef virStorageVolPtr
-    (*virDrvStorageVolLookupByKey)           (virConnectPtr pool,
+    (*virDrvStorageVolLookupByKey)           (virStoragePoolPtr pool,
                                               const char *key);
 typedef virStorageVolPtr
-    (*virDrvStorageVolLookupByPath)          (virConnectPtr pool,
+    (*virDrvStorageVolLookupByPath)          (virStoragePoolPtr pool,
                                               const char *path);


diff --git a/src/libvirt.c b/src/libvirt.c
index 9d42c76..c43ce9c 100644
--- a/src/libvirt.c
+++ b/src/libvirt.c
@@ -8418,11 +8418,12 @@ error:
  * Returns a storage volume, or NULL if not found / error
  */
 virStorageVolPtr
-virStorageVolLookupByKey(virConnectPtr conn,
+virStorageVolLookupByKey(virStoragePoolPtr pool,
                          const char *key)
 {
-    DEBUG("conn=%p, key=%s", conn, key);
+    DEBUG("pool=%p, key=%s", pool, key);

+    virConnectPtr conn = pool->conn;
     virResetLastError();

     if (!VIR_IS_CONNECT(conn)) {
@@ -8437,7 +8438,7 @@ virStorageVolLookupByKey(virConnectPtr conn,

     if (conn->storageDriver && conn->storageDriver->volLookupByKey) {
         virStorageVolPtr ret;
-        ret = conn->storageDriver->volLookupByKey (conn, key);
+        ret = conn->storageDriver->volLookupByKey (pool, key);
         if (!ret)
             goto error;
         return ret;
@@ -8461,11 +8462,12 @@ error:
  * Returns a storage volume, or NULL if not found / error
  */
 virStorageVolPtr
-virStorageVolLookupByPath(virConnectPtr conn,
+virStorageVolLookupByPath(virStoragePoolPtr pool,
                           const char *path)
 {
-    DEBUG("conn=%p, path=%s", conn, path);
+    DEBUG("pool=%p, path=%s", pool, path);

+    virConnectPtr conn = pool->conn;
     virResetLastError();

     if (!VIR_IS_CONNECT(conn)) {
@@ -8480,7 +8482,7 @@ virStorageVolLookupByPath(virConnectPtr conn,

     if (conn->storageDriver && conn->storageDriver->volLookupByPath) {
         virStorageVolPtr ret;
-        ret = conn->storageDriver->volLookupByPath (conn, path);
+        ret = conn->storageDriver->volLookupByPath (pool, path);
         if (!ret)
             goto error;
         return ret;
diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c
index 80977a3..12380f4 100644
--- a/src/remote/remote_driver.c
+++ b/src/remote/remote_driver.c
@@ -5559,9 +5559,10 @@ done:
 }

 static virStorageVolPtr
-remoteStorageVolLookupByKey (virConnectPtr conn,
+remoteStorageVolLookupByKey (virStoragePoolPtr pool,
                              const char *key)
 {
+    virConnectPtr conn = pool->conn;
     virStorageVolPtr  vol = NULL;
     remote_storage_vol_lookup_by_key_args args;
     remote_storage_vol_lookup_by_key_ret ret;
@@ -5586,9 +5587,10 @@ done:
 }

 static virStorageVolPtr
-remoteStorageVolLookupByPath (virConnectPtr conn,
+remoteStorageVolLookupByPath (virStoragePoolPtr pool,
                               const char *path)
 {
+    virConnectPtr conn = pool->conn;
     virStorageVolPtr vol = NULL;
     remote_storage_vol_lookup_by_path_args args;
     remote_storage_vol_lookup_by_path_ret ret;
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index b148e39..25fe1d1 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -1168,8 +1168,9 @@ cleanup:


 static virStorageVolPtr
-storageVolumeLookupByKey(virConnectPtr conn,
+storageVolumeLookupByKey(virStoragePoolPtr pool,
                          const char *key) {
+    virConnectPtr conn = pool->conn;
     virStorageDriverStatePtr driver = conn->storagePrivateData;
     unsigned int i;
     virStorageVolPtr ret = NULL;
@@ -1199,8 +1200,9 @@ storageVolumeLookupByKey(virConnectPtr conn,
 }

 static virStorageVolPtr
-storageVolumeLookupByPath(virConnectPtr conn,
+storageVolumeLookupByPath(virStoragePoolPtr pool,
                           const char *path) {
+    virConnectPtr conn = pool->conn;
     virStorageDriverStatePtr driver = conn->storagePrivateData;
     unsigned int i;
     virStorageVolPtr ret = NULL;
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 395c8c9..c65e4a0 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -4251,8 +4251,9 @@ cleanup:


 static virStorageVolPtr
-testStorageVolumeLookupByKey(virConnectPtr conn,
+testStorageVolumeLookupByKey(virStoragePoolPtr pool,
                              const char *key) {
+    virConnectPtr conn = pool->conn;
     testConnPtr privconn = conn->privateData;
     unsigned int i;
     virStorageVolPtr ret = NULL;
@@ -4285,8 +4286,9 @@ testStorageVolumeLookupByKey(virConnectPtr conn,
 }

 static virStorageVolPtr
-testStorageVolumeLookupByPath(virConnectPtr conn,
+testStorageVolumeLookupByPath(virStoragePoolPtr pool,
                               const char *path) {
+    virConnectPtr conn = pool->conn;
     testConnPtr privconn = conn->privateData;
     unsigned int i;
     virStorageVolPtr ret = NULL;
diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c
index 6a9a2bf..ce665ef 100644
--- a/src/vbox/vbox_tmpl.c
+++ b/src/vbox/vbox_tmpl.c
@@ -7547,7 +7547,8 @@ static virStorageVolPtr vboxStorageVolLookupByName(virStoragePoolPtr pool, const
     return ret;
 }

-static virStorageVolPtr vboxStorageVolLookupByKey(virConnectPtr conn, const char *key) { +static virStorageVolPtr vboxStorageVolLookupByKey(virStoragePoolPtr pool, const char *key) {
+    virConnectPtr conn = pool->conn;
     VBOX_OBJECT_CHECK(conn, virStorageVolPtr, NULL);
     vboxIID   *hddIID    = NULL;
     IHardDisk *hardDisk  = NULL;
@@ -7616,7 +7617,8 @@ cleanup:
     return ret;
 }

-static virStorageVolPtr vboxStorageVolLookupByPath(virConnectPtr conn, const char *path) { +static virStorageVolPtr vboxStorageVolLookupByPath(virStoragePoolPtr pool, const char *path) {
+    virConnectPtr conn = pool->conn;
     VBOX_OBJECT_CHECK(conn, virStorageVolPtr, NULL);
     PRUnichar *hddPathUtf16 = NULL;
     IHardDisk *hardDisk     = NULL;

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list


[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]