On 04/19/2017 05:22 PM, Eric Blake wrote: > Libvirt would like to be able to distinguish between a SHUTDOWN > event triggered solely by guest request and one triggered by a > SIGTERM or other action on the host. qemu_kill_report() is > already able to tell whether a shutdown was triggered by a host > signal (but NOT by a host UI event, such as clicking the X on > the window), but that information was then lost after being > printed to stderr. > > Enhance the shutdown request path to take a parameter of which > way it is being triggered, and update ALL callers. It would have > been less churn to keep the common case with no arguments as > meaning guest-triggered, and only modified the host-triggered > code paths, via a wrapper function, but then we'd still have to > audit that I didn't miss any host-triggered spots; changing the > signature forces us to double-check that I correctly categorized > all callers. > > Here is output from 'virsh qemu-monitor-event --loop' with the > patch installed: > > event SHUTDOWN at 1492639680.731251 for domain fedora_13: {"guest":true} > event STOP at 1492639680.732116 for domain fedora_13: <null> > event SHUTDOWN at 1492639680.732830 for domain fedora_13: {"guest":false} Another reason I'll need a v3: at least qemu-iotests 87 has to be updated for new expected output. -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature