On 28.10.2015 12:11, Vasiliy Tolstov wrote: > Hi. I'm debug some issues with guest-agent inside vm and find this > bug, that affected me > https://bugzilla.redhat.com/show_bug.cgi?id=1090551 > > Does anybody knows how to properly fix this ? >
If qemu-ga fails to reply within desired timeout I guess there's not much that libvirt can do. Previously, when qemu did not expose whether there's somebody listening inside the guest for guest agent commands, I've came up with ping algorithm. Prior to each command a harmless ping is sent. If the agent does not reply within 30 seconds, we consider it broken and don't even try issuing the real command. So if the qemu-ga is stuck somewhere on breakpoint, this mechanism works exactly as intended. I can imagine it can be painful when debugging, therefore you can do this locally to disable the ping: diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c index 5735ed8..b8b87aa 100644 --- a/src/qemu/qemu_agent.c +++ b/src/qemu/qemu_agent.c @@ -934,7 +934,7 @@ static int qemuAgentSend(qemuAgentPtr mon, * Returns: 0 on success, * -1 otherwise */ -static int +static int ATTRIBUTE_UNUSED qemuAgentGuestSync(qemuAgentPtr mon) { int ret = -1; @@ -1121,9 +1121,6 @@ qemuAgentCommand(qemuAgentPtr mon, return -1; } - if (qemuAgentGuestSync(mon) < 0) - return -1; - memset(&msg, 0, sizeof(msg)); if (!(cmdstr = virJSONValueToString(cmd, false))) Happy hacking! Michal -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list