On 11/8/18 2:03 AM, Nikolay Shirokovskiy wrote: > > > On 07.11.2018 17:29, John Ferlan wrote: >> >> >> On 10/8/18 7:21 AM, Nikolay Shirokovskiy wrote: >>> Let's introduce shutdown reason "daemon" which means we have to >>> kill running domain ourselves as the best action we can take at >>> that moment. Failure to pick up domain on daemon restart is >>> one example of such case. Using reason "crashed" is a bit misleading >>> as it is used when qemu is actually crashed or qemu destroyed on >>> guest panic as result of user choice that is the problem was >>> in qemu/guest itself. So I propose to use "crashed" only for >>> qemu side issues and introduce "daemon" when we have to kill the qemu >>> for good. >>> >>> There is another example where "daemon" will be useful. If we can >>> not reboot domain we kill it and got "crashed" reason now. Looks >>> like good candidate for "daemon" reason. >>> >>> Signed-off-by: Nikolay Shirokovskiy <nshirokovskiy@xxxxxxxxxxxxx> >>> --- >>> include/libvirt/libvirt-domain.h | 1 + >>> src/conf/domain_conf.c | 3 ++- >>> src/qemu/qemu_process.c | 11 ++++------- >>> tools/virsh-domain-monitor.c | 3 ++- >>> 4 files changed, 9 insertions(+), 9 deletions(-) >>> [...] >> @@ -8045,7 +8049,7 @@ qemuProcessReconnectHelper(virDomainObjPtr obj, >> * is no thread that could be doing anything else with the same >> domain >> * object. >> */ >> - qemuProcessStop(src->driver, obj, VIR_DOMAIN_SHUTOFF_FAILED, >> + qemuProcessStop(src->driver, obj, VIR_DOMAIN_SHUTOFF_DAEMON, >> QEMU_ASYNC_JOB_NONE, 0); > > I think we need to report VIR_DOMAIN_SHUTOFF_UNKNOWN here. This is similar to > qemuProcessReconnect before we try to reconnect. May be this hunk need to be > placed in distinct patch therefore. > Perhaps keeping "FAILED" would be better - that way (and I can add this to the qemuProcessReconnect description): * Failure to reconnect will generate the following reasons: * VIR_DOMAIN_SHUTOFF_FAILED => Tried to create this thread, but failed * VIR_DOMAIN_SHUTOFF_UNKNOWN => Thread started, but failed before reconnect * to the monitor * VIR_DOMAIN_SHUTOFF_CRASHED => Attempted to reconnect to the monitor, but * failed to open, assume domain crash * VIR_DOMAIN_SHUTOFF_DAEMON => Reconnected to the monitor, but decided * afterwards we needed to stop the process Look good? Tks - John [...] -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list