[libvirt] Still in freeze, third rc tarball available

Matthias Bolte matthias.bolte at googlemail.com
Tue Feb 15 10:10:07 UTC 2011


2011/2/15 Osier Yang <jyang at redhat.com>:
> 于 2011年02月15日 11:32, Daniel Veillard 写道:
>>
>>   Thanks everybody for the testing feedback and fixes, in retrospect
>> I should really had done this in previous releases ! So the third
>> rc tarball is out, it's likely to be the last one before the release
>> (within 48 hours):
>>
>>    ftp://libvirt.org/libvirt/libvirt-0.8.8-rc3.tar.gz
>>
>>   give it a try !
>>
>>    thanks,
>>
>> Daniel
>>
> # ./daemon/libvirtd
> 14:11:15.018: 31796: info : libvirt version: 0.8.8, package:  ()
>
>>>> PACKAGE_VERSION and PACKAGER are all defined as "" by default,
> do we need to do more checking to print just the following?
>
> 14:11:15.018: 31796: info : libvirt version: 0.8.8
>
> 14:11:15.018: 31796: error : virCommandWait:1226 : internal error Child
> process exited with status 2.
> 14:11:15.038: 31796: error : virCommandWait:1226 : internal error Child
> process exited with status 2.
>
>>>> Not sure if above two errors are allowed, didn't investigate.
>
> Regards
> Osier
>

I have this two errors two. The come from the network driver trying to
use iptables features that are not present in my iptables version. The
driver expects this and handles it by outputting a warning in that
case:

11:02:01.686: 13937: warning : networkAddGeneralIptablesRules:1128 :
Could not add rule to fixup DHCP response checksums on network
'default'.
11:02:01.686: 13937: warning : networkAddGeneralIptablesRules:1129 :
May need to update iptables package & kernel to support CHECKSUM rule.

But the virCommand code reports the failing call to iptables as error.
We might want to add some logic to the virCommand code to suppress
expected errors.

You can test if it's the same problem for you by applying this patch:

diff --git a/src/util/command.c b/src/util/command.c
index abd2dc4..258dc13 100644
--- a/src/util/command.c
+++ b/src/util/command.c
@@ -1221,9 +1221,11 @@ virCommandWait(virCommandPtr cmd, int *exitstatus)

     if (exitstatus == NULL) {
         if (status != 0) {
+            char *str = virCommandToString(cmd);
             virCommandError(VIR_ERR_INTERNAL_ERROR,
-                            _("Child process exited with status %d."),
-                            WEXITSTATUS(status));
+                            _("Child process (%s) exited with status %d."),
+                            str ? str : cmd->args[0], WEXITSTATUS(status));
+            VIR_FREE(str);
             return -1;
         }
     } else {

that makes it output the failing command.

Matthias




More information about the libvir-list mailing list