[libvirt] [PATCH 2/5] conf: introduce reconnect element for chardev source

Ján Tomko jtomko at redhat.com
Mon Aug 28 13:10:15 UTC 2017


On Mon, Aug 28, 2017 at 02:56:50PM +0200, Pavel Hrdina wrote:
>Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
>---
> docs/formatdomain.html.in     |  11 ++++
> docs/schemas/domaincommon.rng |  12 +++++
> src/conf/domain_conf.c        | 119 +++++++++++++++++++++++++++++++++++++++---
> src/conf/domain_conf.h        |  11 ++++
> 4 files changed, 145 insertions(+), 8 deletions(-)
>
>diff --git a/docs/formatdomain.html.in b/docs/formatdomain.html.in
>index fba8cfc6f3..205122f28e 100644
>--- a/docs/formatdomain.html.in
>+++ b/docs/formatdomain.html.in
>@@ -6298,6 +6298,17 @@ qemu-kvm -net nic,model=? /dev/null
>       slot.
>     </p>
>
>+    <p>
>+      For character device with type <code>unix</code> or <code>tcp</code>
>+      the <code>source</code> has an optional element <code>reconnect</code>
>+      which configures reconnect timeout if the connection is lost.
>+      There are two attributes, <code>enabled</code> where possible
>+      values are <code>yes</code> and <code>no</code> and <code>timeout</code>

Please put the possible values for 'enabled' attribute in parentheses to
differentiate them from the attribute names.

>+      which is in seconds. The <code>reconnect</code> attribute is valid only
>+      for <code>connect</code> mode.
>+      <span class="since">Since 3.7.0 (QEMU driver only)</span>.
>+    </p>
>+
>     <h5><a id="elementsCharGuestInterface">Guest interface</a></h5>
>
>     <p>
>@@ -11115,6 +11127,56 @@ virDomainChrDefParseTargetXML(virDomainChrDefPtr def,
>     return ret;
> }
>
>+static int
>+virDomainChrSourceReconnectDefParseXML(virDomainChrSourceReconnectDefPtr def,
>+                                       xmlNodePtr node,
>+                                       xmlXPathContextPtr ctxt)
>+{
>+    int ret = -1;
>+    int tmpVal;
>+    char *tmp = NULL;
>+    xmlNodePtr saveNode = ctxt->node;
>+    xmlNodePtr cur;
>+
>+    ctxt->node = node;
>+
>+    if ((cur = virXPathNode("./reconnect", ctxt))) {
>+        if ((tmp = virXMLPropString(cur, "enabled"))) {
>+            if ((tmpVal = virTristateBoolTypeFromString(tmp)) < 0) {
>+                virReportError(VIR_ERR_XML_ERROR,
>+                               _("invalid reconnect enabled value: '%s'"),
>+                               tmp);
>+                goto cleanup;
>+            }
>+            def->enabled = tmpVal;
>+            VIR_FREE(tmp);
>+        }
>+
>+        if (def->enabled == VIR_TRISTATE_BOOL_YES) {
>+            if ((tmp = virXMLPropString(cur, "timeout"))) {
>+                if (virStrToLong_ui(tmp, NULL, 10, &def->timeout) < 0) {
>+                    virReportError(VIR_ERR_XML_ERROR,
>+                                   _("invalid reconnect enabled value: '%s'"),

s/enabled/timeout/

Jan
>+                                   tmp);
>+                    goto cleanup;
>+                }
>+                VIR_FREE(tmp);
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20170828/47c63f9d/attachment-0001.sig>


More information about the libvir-list mailing list