[libvirt] [PATCH] utils: More useful error message for hook script failure

Osier Yang jyang at redhat.com
Fri Jul 29 10:23:41 UTC 2011


Commit 3709a386 ported hooks codes to new command execution API,
together with the useful error message removed. Though we can't
get "errbuf" from the new command execution API anymore, still
we can give a more useful error.

https://bugzilla.redhat.com/show_bug.cgi?id=726398
---
 src/util/hooks.c |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/util/hooks.c b/src/util/hooks.c
index 64adfcb..00f3a01 100644
--- a/src/util/hooks.c
+++ b/src/util/hooks.c
@@ -193,6 +193,7 @@ int
 virHookCall(int driver, const char *id, int op, int sub_op, const char *extra,
             const char *input) {
     int ret;
+    int exitstatus;
     char *path;
     virCommandPtr cmd;
     const char *drvstr;
@@ -257,7 +258,13 @@ virHookCall(int driver, const char *id, int op, int sub_op, const char *extra,
     if (input)
         virCommandSetInputBuffer(cmd, input);
 
-    ret = virCommandRun(cmd, NULL);
+    ret = virCommandRun(cmd, &exitstatus);
+    if (exitstatus != 0) {
+        virHookReportError(VIR_ERR_HOOK_SCRIPT_FAILED,
+                           _("Hook script %s %s failed with error code %d"),
+                           path, drvstr, exitstatus);
+        ret = -1;
+    }
 
     virCommandFree(cmd);
 
-- 
1.7.6




More information about the libvir-list mailing list