On 11/1/18 12:04 PM, John Ferlan wrote:
v1:
https://www.redhat.com/archives/libvir-list/2018-October/msg00945.html
Changes since v1:
Patch 1 (NEW)
- Set the priv->allowReboot prior to any error processing since we
could/should be using that.
Patch 2 (ADJUSTED LOGIC)
- Rather than open code the "reason" to use the -no-shutdown flag,
let's create a qemu_domain helper for that so that both the command
line building and the Reconnection failure logic can use it.
Patch 3 (NEW)
- Let's narrow the window for using VIR_DOMAIN_SHUTOFF_CRASHED to
just the period where we try to open a monitor channel. If we
cannot do so, then "assume" the reason was crashed. There are
a few open failure steps that may not exactly fit the model, but
those are probably splitting hairs.
John Ferlan (3):
qemu: Move allow reboot check setting
qemu: Restore lost shutdown reason
qemu: Narrow the shutdown reconnection failure reason window
src/qemu/qemu_command.c | 6 +-----
src/qemu/qemu_domain.c | 17 +++++++++++++++++
src/qemu/qemu_domain.h | 3 +++
src/qemu/qemu_process.c | 27 ++++++++++++++++++---------
4 files changed, 39 insertions(+), 14 deletions(-)
After sleeping on it, although we cannot come to an agreement on patch1,
I guess in the long run it doesn't matter since patch3 narrows the
window that made patch1 unnecessary. In order for CRASHED to be elicited
the monitor connection must've failed; otherwise, UNKNOWN would be used.
Moving forward also provides the change I found necessary for Nikolay's
domain reason addition patch to proceed forward, e.g.:
https://www.redhat.com/archives/libvir-list/2018-October/msg00493.html
So, I'll drop patch 1 and push patch2/3, then go back to Nikolay's code.
Tks -
John