On 01.04.2015 11:13, zhang bo wrote: > When we shutdown/reboot a guest using agent-mode, if the guest itself blocks infinitely, > libvirt would block in qemuAgentShutdown() forever. > Thus, we set a timeout for shutdown/reboot, from our experience, 60 seconds would be fine. > > Signed-off-by: Zhang Bo <oscar.zhangbo@xxxxxxxxxx> > Signed-off-by: Wang Yufei <james.wangyufei@xxxxxxxxxx> > --- > include/libvirt/libvirt-qemu.h | 1 + > src/qemu/qemu_agent.c | 2 +- > 2 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/include/libvirt/libvirt-qemu.h b/include/libvirt/libvirt-qemu.h > index 0c5d650..2bb8ee8 100644 > --- a/include/libvirt/libvirt-qemu.h > +++ b/include/libvirt/libvirt-qemu.h > @@ -49,6 +49,7 @@ typedef enum { > VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK = -2, > VIR_DOMAIN_QEMU_AGENT_COMMAND_DEFAULT = -1, > VIR_DOMAIN_QEMU_AGENT_COMMAND_NOWAIT = 0, > + VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN = 60, > } virDomainQemuAgentCommandTimeoutValues; > > char *virDomainQemuAgentCommand(virDomainPtr domain, const char *cmd, > diff --git a/src/qemu/qemu_agent.c b/src/qemu/qemu_agent.c > index a7b3279..548d580 100644 > --- a/src/qemu/qemu_agent.c > +++ b/src/qemu/qemu_agent.c > @@ -1300,7 +1300,7 @@ int qemuAgentShutdown(qemuAgentPtr mon, > else > mon->await_event = QEMU_AGENT_EVENT_SHUTDOWN; > ret = qemuAgentCommand(mon, cmd, &reply, false, > - VIR_DOMAIN_QEMU_AGENT_COMMAND_BLOCK); > + VIR_DOMAIN_QEMU_AGENT_COMMAND_SHUTDOWN); > > virJSONValueFree(cmd); > virJSONValueFree(reply); > Looks good to me. ACK after freeze. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list