File virtman-clone-disk-newpool-fix.patch of Package virt-manager.1480

References: bnc#910929
Call tick_send_signals immediately in the case where a new pool was created
in the act of cloning a disk that didn't previously have one. If not called
immediately, the new pool doesn't get registered in time (via the idle_add)
for the code to notice and so attempts to create another pool for the cloned
disk at the same location as the original. This produces a libvirt error.

Index: virt-manager-1.0.1/virtManager/connection.py
===================================================================
--- virt-manager-1.0.1.orig/virtManager/connection.py
+++ virt-manager-1.0.1/virtManager/connection.py
@@ -1290,7 +1290,11 @@ class vmmConnection(vmmGObject):
             for name in newNodedevs:
                 self.emit("nodedev-added", name)
 
-        self.idle_add(tick_send_signals)
+        if newPools:
+            # Call immediately to update pools before proceeding
+            tick_send_signals()
+        else:
+            self.idle_add(tick_send_signals)
         if len(self.vms) < len(vms):
             # Allow time for tick_send_signals to run
             time.sleep(.1)
openSUSE Build Service is sponsored by