X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=lttctl%2Fltt-disarmall.sh;h=56dc3a0b1e48644caae856da3849b4a9061ed7c1;hb=36cf2b17ba3877215b92a8c85638058d2d370d4e;hp=2b5704f4d6eebb003cc03e1904cb22178a056c5c;hpb=045880fb3602540472b3760832a73b431514bb7f;p=ltt-control.git diff --git a/lttctl/ltt-disarmall.sh b/lttctl/ltt-disarmall.sh index 2b5704f..56dc3a0 100755 --- a/lttctl/ltt-disarmall.sh +++ b/lttctl/ltt-disarmall.sh @@ -1,5 +1,5 @@ -#!/bin/bash # Copyright (C) 2009 Benjamin Poirier +# Copyright (C) 2010 Mathieu Desnoyers # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -15,7 +15,7 @@ # with this program; if not, write to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -DEBUGFSROOT=$(grep ^debugfs /proc/mounts | head -1 | awk '{print $2}') +DEBUGFSROOT=$(awk '{if ($3 == "debugfs") print $2}' /proc/mounts | head -n 1) MARKERSROOT=${DEBUGFSROOT}/ltt/markers usage () { @@ -28,18 +28,18 @@ usage () { echo "" > /dev/stderr } -if [ ! "$DEBUGFSROOT" ]; then +if [ ! "${DEBUGFSROOT}" ]; then echo "Error: debugfs not mounted" > /dev/stderr exit 1; fi -if [ ! -d "$MARKERSROOT" ]; then +if [ ! -d "${MARKERSROOT}" ]; then echo "Error: LTT trace controller not found (did you compile and load LTTng?)" > /dev/stderr exit 1; fi while getopts "qh" options; do - case $options in + case ${options} in q) QUIET="0";; h) usage; exit 0;; @@ -47,15 +47,15 @@ while getopts "qh" options; do exit 1;; esac done -shift $(($OPTIND - 1)) +shift $((${OPTIND} - 1)) -while read -r -d $'\0' marker; do - grep "^1$" "$marker" -q +(eval "find '${MARKERSROOT}' -name metadata -prune -o -name enable -print") | while read -r marker; do + grep "^1$" "${marker}" -q if [ $? -ne 0 ]; then continue fi - if [ ! $QUIET ]; then + if [ ! ${QUIET} ]; then echo "Disconnecting ${marker%/enable}" fi - echo 0 > $marker -done < <(eval "find '$MARKERSROOT' -name metadata -prune -o -name enable -print0") + echo 0 > ${marker} +done