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);
|
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
|
static virJSONValuePtr
|
||||||
qemuMonitorJSONAttachCharDevCommand(const char *chrID,
|
qemuMonitorJSONAttachCharDevCommand(const char *chrID,
|
||||||
const virDomainChrSourceDef *chr)
|
const virDomainChrSourceDef *chr)
|
||||||
|
@ -6505,6 +6515,9 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
|
||||||
if (virJSONValueObjectAppendString(data, "tls-creds", tlsalias) < 0)
|
if (virJSONValueObjectAppendString(data, "tls-creds", tlsalias) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (qemuMonitorJSONBuildChrChardevReconnect(data, &chr->data.tcp.reconnect) < 0)
|
||||||
|
goto cleanup;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_UDP:
|
case VIR_DOMAIN_CHR_TYPE_UDP:
|
||||||
|
@ -6542,6 +6555,9 @@ qemuMonitorJSONAttachCharDevCommand(const char *chrID,
|
||||||
if (virJSONValueObjectAppendBoolean(data, "wait", false) < 0 ||
|
if (virJSONValueObjectAppendBoolean(data, "wait", false) < 0 ||
|
||||||
virJSONValueObjectAppendBoolean(data, "server", chr->data.nix.listen) < 0)
|
virJSONValueObjectAppendBoolean(data, "server", chr->data.nix.listen) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
|
if (qemuMonitorJSONBuildChrChardevReconnect(data, &chr->data.nix.reconnect) < 0)
|
||||||
|
goto cleanup;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
|
case VIR_DOMAIN_CHR_TYPE_SPICEVMC:
|
||||||
|
|
Loading…
Reference in New Issue