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

Re: [libvirt] Still in freeze, third rc tarball available



2011/2/15 Osier Yang <jyang 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


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