]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: hotplug: Report error if we hit tray status timeout
authorCole Robinson <crobinso@redhat.com>
Mon, 2 May 2016 23:07:34 +0000 (19:07 -0400)
committerCole Robinson <crobinso@redhat.com>
Thu, 23 Jun 2016 20:00:39 +0000 (16:00 -0400)
If we exceed the timeout waiting for the tray status to change,
we don't report an error. Fix it

(cherry picked from commit 1fad65d49aae364576bd91352a001249510f8d4e)

src/qemu/qemu_hotplug.c

index 40d568362e4b113f4012b995791d510f72169518..12653e3d3c059ea43276ec9ea29ea2108d36267d 100644 (file)
@@ -225,7 +225,13 @@ qemuDomainChangeEjectableMedia(virQEMUDriverPtr driver,
             goto error;
 
         while (disk->tray_status != VIR_DOMAIN_DISK_TRAY_OPEN) {
-            if (virDomainObjWaitUntil(vm, now + CHANGE_MEDIA_TIMEOUT) != 0)
+            int wait_rc = virDomainObjWaitUntil(vm, now + CHANGE_MEDIA_TIMEOUT);
+            if (wait_rc > 0) {
+                virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                               _("timed out waiting for "
+                                 "disk tray status update"));
+            }
+            if (wait_rc != 0)
                 goto error;
         }
     } while (rc < 0);