[libvirt] [PATCHv5 2/4] qemu: conf: Implement RBD storage pool support

Adam Walters adam at pandorasboxen.com
Fri Dec 6 20:10:36 UTC 2013


This patch is updated to not contain a switch statement
on the mode. The patch as a whole allows RBD storage pool
volumes to be used within domain XML.
---
 src/qemu/qemu_conf.c | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c
index 2d42c3b..c28908a 100644
--- a/src/qemu/qemu_conf.c
+++ b/src/qemu/qemu_conf.c
@@ -1478,8 +1478,29 @@ qemuTranslateDiskSourcePool(virConnectPtr conn,
        }
        break;
 
-    case VIR_STORAGE_POOL_MPATH:
     case VIR_STORAGE_POOL_RBD:
+        if (def->startupPolicy) {
+            virReportError(VIR_ERR_XML_ERROR, "%s",
+                           _("'startupPolicy' is only valid for "
+                             "'file' type volume"));
+            goto cleanup;
+        }
+
+        def->srcpool->actualtype = VIR_DOMAIN_DISK_TYPE_NETWORK;
+        def->protocol = VIR_DOMAIN_DISK_PROTOCOL_RBD;
+
+        if (!(def->src = virStorageVolGetPath(vol)))
+            goto cleanup;
+
+        if (qemuTranslateDiskSourcePoolAuth(def, pooldef) < 0)
+            goto cleanup;
+
+        if (qemuAddRBDPoolSourceHost(def, pooldef) < 0)
+            goto cleanup;
+
+        break;
+
+    case VIR_STORAGE_POOL_MPATH:
     case VIR_STORAGE_POOL_SHEEPDOG:
     case VIR_STORAGE_POOL_GLUSTER:
     case VIR_STORAGE_POOL_LAST:
-- 
1.8.4.2




More information about the libvir-list mailing list