在 09/12/2014 07:17 PM, Dr. David Alan Gilbert 写道:
* Hongyang Yang (yan...@cn.fujitsu.com) wrote:


??? 08/01/2014 11:03 PM, Dr. David Alan Gilbert ??????:
* Yang Hongyang (yan...@cn.fujitsu.com) wrote:

<snip>

+static int do_colo_transaction(MigrationState *s, QEMUFile *control,
+                               QEMUFile *trans)
+{
+    int ret;
+
+    ret = colo_ctl_put(s->file, COLO_CHECKPOINT_NEW);
+    if (ret) {
+        goto out;
+    }
+
+    ret = colo_ctl_get(control, COLO_CHECKPOINT_SUSPENDED);

What happens at this point if the slave just doesn't respond?
(i.e. the socket doesn't drop - you just don't get the byte).

If the socket return bytes that were not expected, exit. If
socket return error, do some cleanup and quit COLO process.
refer to: colo_ctl_get() and colo_ctl_get_value()

But what happens if the slave just doesn't respond at all; e.g.
if the slave host loses power, it'll take a while (many seconds)
before the socket will timeout.

It will wait until the call returns timeout error, and then do some
cleanup and quit COLO process. There may be better way to handle
this?


Dave
--
Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK
.


--
Thanks,
Yang.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to