mirror of https://gitee.com/openkylin/libvirt.git
qemu: handle reconnect on chardev hotplug
The patch passes the reconnect timeout to QEMU by monitor on chardev hotplug. Signed-off-by: ZhiPeng Lu <lu.zhipeng@zte.com.cn> Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
c120ce1609
commit
0dde16be73
|
@ -6441,6 +6441,16 @@ int qemuMonitorJSONGetTPMTypes(qemuMonitorPtr mon,
|
|||
return qemuMonitorJSONGetStringArray(mon, "query-tpm-types", tpmtypes);
|
||||
}
|
||||
|
||||
static int
|
||||
qemuMonitorJSONBuildChrChardevReconnect(virJSONValuePtr object,
|
||||
const virDomainChrSourceReconnectDef *def)
|
||||
{
|
||||
if (def->enabled != VIR_TRISTATE_BOOL_YES)
|
||||
return 0;
|
||||
|
||||
return virJSONValueObjectAppendNumberUint(object, "reconnect", def->timeout);
|
||||
}
|
||||
|
||||
static virJSONValuePtr
|
||||
qemuMonitorJSONAttachCharDevCommand(const char *chrID,
|
||||
const virDomainChrSourceDef *chr)
|
||||
|
@ -6505,6 +6515,9 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
|
|||
if (virJSONValueObjectAppendString(data, "tls-creds", tlsalias) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (qemuMonitorJSONBuildChrChardevReconnect(data, &chr->data.tcp.reconnect) < 0)
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_CHR_TYPE_UDP:
|
||||
|
@ -6542,6 +6555,9 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
|
|||
if (virJSONValueObjectAppendBoolean(data, "wait", false) < 0 ||
|
||||
virJSONValueObjectAppendBoolean(data, "server", chr->data.nix.listen) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (qemuMonitorJSONBuildChrChardevReconnect(data, &chr->data.nix.reconnect) < 0)
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
|
||||
|
|
Loading…
Reference in New Issue