Re: [PATCH 04/19] qemu: Allow all query commands to be run during long jobs

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

 



On 07/07/2011 05:34 PM, Jiri Denemark wrote:
Query commands are safe to be called during long running jobs (such as
migration). This patch makes them all work without the need to
special-case every single one of them.

Git bisect says that this was the culprit commit that broke 'virsh managedsave'.

+static int
  qemuDomainObjEnterMonitorInternal(struct qemud_driver *driver,
                                    virDomainObjPtr obj)
  {
      qemuDomainObjPrivatePtr priv = obj->privateData;

+    if (priv->job.active == QEMU_JOB_NONE&&  priv->job.asyncJob) {
+        if (qemuDomainObjBeginNestedJob(obj)<  0)
+            return -1;
+        if (!virDomainObjIsActive(obj)) {
+            qemuReportError(VIR_ERR_OPERATION_FAILED, "%s",
+                            _("domain is no longer running"));
+            return -1;
+        }
+    }

I think this is the problem. Doing a managed save will eventually make the qemu process go away, so we reach a point where we cannot issue a query monitor command to see how the save is progressing. But this function only checks that vm is still active for QEMU_JOB_NONE, not for QEMU_ASYNC_JOB_SAVE.

I'm trying out a patch now...

--
Eric Blake   eblake@xxxxxxxxxx    +1-801-349-2682
Libvirt virtualization library http://libvirt.org

--
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]