[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



On Mon, Aug 28, 2017 at 02:56:50PM +0200, Pavel Hrdina wrote:
Signed-off-by: Pavel Hrdina <phrdina 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);

Attachment: signature.asc
Description: Digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]