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