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

Re: [libvirt] [PATCH] Add support for multiple serial ports into the Xen driver



Eric, thanks for reply but I'm having some issues now...

I've pulled libvirt sources from upstream and I'm unable to compile it since it keeps saying following:

  CCLD   libvirt_parthelper
./.libs/libvirt_util.a(libvirt_util_la-util.o): In function `virFileOperationNoFork': /home/mig/Work/virt-related/libvirt/src/util/util.c:1363: undefined reference to `rpl_open' ./.libs/libvirt_util.a(libvirt_util_la-util.o): In function `virFileReadAll': /home/mig/Work/virt-related/libvirt/src/util/util.c:1159: undefined reference to `rpl_open' ./.libs/libvirt_util.a(libvirt_util_la-util.o): In function `virFileWriteStr': /home/mig/Work/virt-related/libvirt/src/util/util.c:1184: undefined reference to `rpl_open' /home/mig/Work/virt-related/libvirt/src/util/util.c:1186: undefined reference to `rpl_open' ./.libs/libvirt_util.a(libvirt_util_la-util.o): In function `virFileOperation': /home/mig/Work/virt-related/libvirt/src/util/util.c:1519: undefined reference to `rpl_open' ./.libs/libvirt_util.a(libvirt_util_la-util.o):/home/mig/Work/virt-related/libvirt/src/util/util.c:1795: more undefined references to `rpl_open' follow
collect2: ld returned 1 exit status

Unfortunately I was unable to find definition of 'rpl_open' function using git grep so I don't really know what to do there. Some bug or do I miss something?
+++ b/src/xen/xend_internal.c
@@ -1218,6 +1218,9 @@ xenDaemonParseSxprChar(const char *value,

       if (value[0] == '/') {
           def->source.type = VIR_DOMAIN_CHR_TYPE_DEV;
+        def->data.file.path = strdup(value);
+        if (!def->data.file.path)
+            goto error;
This should be goto no_memory.


To my knowledge this is not the only one issue there since this has been changed from def->data.file.path to def->source.data.file.path to compile successfully but that's fine. It seems like codebase changed so it took some time to rewrite the code for the current upstream codebase.
@@ -5958,10 +6011,22 @@ xenDaemonFormatSxpr(virConnectPtr conn,
                   virBufferAddLit(&buf, "(parallel none)");
               }
               if (def->serials) {
-                virBufferAddLit(&buf, "(serial ");
-                if (xenDaemonFormatSxprChr(def->serials[0],&buf)<   0)
-                    goto error;
-                virBufferAddLit(&buf, ")");
+                if (def->nserials>   1) {
+                    virBufferAddLit(&buf, "(serial (");
+                    for (i = 0; i<   def->nserials; i++) {
+                        if
(xenDaemonFormatSxprChr(def->serials[i],&buf)<   0)
+                            goto error;
+                        if (i<   def->nserials - 1)
+                            virBufferAddLit(&buf, " ");
+                    }
+                    virBufferAddLit(&buf, "))");
+                }
You skipped "none" as a placeholder when parsing; but I'm not sure if
this generates "none" on output to match.

Basically I don't know what you mean by this. Also, when I was defining XMLs I saw that the console node copies the first serial node however how to define it if first serial node is just none?

I mean the XML is like:

<serial type='dev'>
<source path='/dev/ttyS0'/>
<target port='0'/>
</serial>
<serial type='dev'>
<source path='/dev/ttyS1'/>
<target port='1'/>
</serial>
<console type='dev'>
<source path='/dev/ttyS0'/>
<target port='0'/>
</console>

But what should the XML part be for case of first serial device to be none ?

Michal

--
Michal Novotny<minovotn redhat com>, RHCE
Virtualization Team (xen userspace), Red Hat


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