mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
qemu: command: don't overwrite watchdog dump action
The watchdog cli refactoring in4666b762
dropped the temporary variable we use to convert to action=dump to action=pause for the qemu cli, and stored the converted value in the domain structure. Our other watchdog handling code then treated it as though the user requested action=pause, which broke action=dump handling. Revive the temporary variable to fix things. (cherry picked from commita91177c8f7
)
This commit is contained in:
parent
7fdfa640d2
commit
886cfe71ae
@ -3354,6 +3354,7 @@ qemuBuildWatchdogCommandLine(virCommandPtr cmd,
|
||||
virDomainWatchdogDefPtr watchdog = def->watchdog;
|
||||
char *optstr;
|
||||
const char *action;
|
||||
int actualAction;
|
||||
|
||||
if (!def->watchdog)
|
||||
return 0;
|
||||
@ -3380,10 +3381,14 @@ qemuBuildWatchdogCommandLine(virCommandPtr cmd,
|
||||
virCommandAddArg(cmd, optstr);
|
||||
VIR_FREE(optstr);
|
||||
|
||||
/* qemu doesn't have a 'dump' action; we tell qemu to 'pause', then
|
||||
libvirt listens for the watchdog event, and we perform the dump
|
||||
ourselves. so convert 'dump' to 'pause' for the qemu cli */
|
||||
actualAction = watchdog->action;
|
||||
if (watchdog->action == VIR_DOMAIN_WATCHDOG_ACTION_DUMP)
|
||||
watchdog->action = VIR_DOMAIN_WATCHDOG_ACTION_PAUSE;
|
||||
actualAction = VIR_DOMAIN_WATCHDOG_ACTION_PAUSE;
|
||||
|
||||
action = virDomainWatchdogActionTypeToString(watchdog->action);
|
||||
action = virDomainWatchdogActionTypeToString(actualAction);
|
||||
if (!action) {
|
||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||
"%s", _("invalid watchdog action"));
|
||||
|
Loading…
Reference in New Issue
Block a user