[ovs-dev] [PATCH v2] ovs-lib: Do not tee the ovs-ctl o/p in case of strace.

Gurucharan Shetty shettyg at nicira.com
Sun Apr 7 05:51:41 UTC 2013


Running the OVS daemons with strace option enabled
will block if we pipe the output. We use tee
to log the output of ovs-ctl to ovs-ctl.log

This patch disables the startup script logging when we
run the OVS daemons with the strace option.

Signed-off-by: Gurucharan Shetty <gshetty at nicira.com>
---
 utilities/ovs-lib.in |   14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
index a441c3d..f7b5bd4 100644
--- a/utilities/ovs-lib.in
+++ b/utilities/ovs-lib.in
@@ -38,8 +38,18 @@ else
 fi
 
 ovs_ctl () {
-    echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log"
-    "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log"
+    case "$@" in
+        *"=strace"*)
+            # In case of running the daemon with strace, piping the o/p causes
+            # the script to block (strace probably does not close the inherited
+            # pipe). So, do not log the o/p to ovs-ctl.log.
+            "${datadir}/scripts/ovs-ctl" "$@"
+        ;;
+        *)
+            echo "`date -u`:$@" >> "${logdir}/ovs-ctl.log"
+            "${datadir}/scripts/ovs-ctl" "$@" 2>&1 | tee -a "${logdir}/ovs-ctl.log"
+        ;;
+    esac
 }
 
 VERSION='@VERSION@'
-- 
1.7.9.5




More information about the dev mailing list