On 03/14/2017 07:24 PM, Wei Liu wrote:
On Mon, Mar 06, 2017 at 10:59:25AM +0800, Zhang Chen wrote:
We use kernel colo proxy's way to get the checkpoint event
from qemu colo-compare.
Qemu colo-compare need add a API to support this(I will add this in qemu).
Qemu side patch:
https://lists.nongnu.org/archive/html/qemu-devel/2017-02/msg07265.html
Signed-off-by: Zhang Chen <zhangchen.f...@cn.fujitsu.com>
Acked-by: Wei Liu <wei.l...@citrix.com>
But see below.
@@ -289,8 +393,19 @@ int colo_proxy_checkpoint(libxl__colo_proxy_state *cps,
* event.
*/
if (cps->is_userspace_proxy) {
- usleep(timeout_us);
- return 0;
+ ret = colo_userspace_proxy_recv(cps, recvbuff, timeout_us);
+ if (ret <= 0) {
+ ret = 0;
+ goto out1;
+ }
+
+ if (!strcmp(recvbuff, "DO_CHECKPOINT")) {
+ ret = 1;
+ } else {
+ LOGD(ERROR, ao->domid, "receive qemu colo-compare checkpoint
error");
+ ret = 0;
+ }
+ goto out1;
}
size = colo_proxy_recv(cps, &buff, timeout_us);
@@ -318,4 +433,7 @@ int colo_proxy_checkpoint(libxl__colo_proxy_state *cps,
out:
free(buff);
return ret;
+
+out1:
Perhaps try to come up with a better name than out1? Subsequent patch is
welcome.
How about change 'out1' to 'out_userspace_proxy' ?
If OK, I will send a patch for it.
Thanks
Zhang Chen
.
--
Thanks
Zhang Chen
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel