X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=lttctl%2Fltt-disarmall.sh;h=e77be9ad92fdb72286a824b3debd0e5168ae2dcf;hb=cdfcd011b7d3e2e22494305de495e385d488402a;hp=56dc3a0b1e48644caae856da3849b4a9061ed7c1;hpb=36cf2b17ba3877215b92a8c85638058d2d370d4e;p=ltt-control.git diff --git a/lttctl/ltt-disarmall.sh b/lttctl/ltt-disarmall.sh index 56dc3a0..e77be9a 100755 --- a/lttctl/ltt-disarmall.sh +++ b/lttctl/ltt-disarmall.sh @@ -17,24 +17,31 @@ DEBUGFSROOT=$(awk '{if ($3 == "debugfs") print $2}' /proc/mounts | head -n 1) MARKERSROOT=${DEBUGFSROOT}/ltt/markers +DEFAULTMODULES="ltt-trace-control ltt-marker-control ltt-kprobes ltt-userspace-event ltt-statedump ipc-trace kernel-trace mm-trace net-trace fs-trace jbd2-trace syscall-trace trap-trace block-trace rcu-trace ltt-relay ltt-tracer" +EXTRAMODULES="lockdep-trace net-extended-trace" usage () { - echo "Usage: $0 [OPTION]..." > /dev/stderr - echo "Disconnect lttng markers" > /dev/stderr - echo "" > /dev/stderr - echo "Options:" > /dev/stderr - printf "\t-q Quiet mode, suppress output\n" > /dev/stderr - printf "\t-h Print this help\n" > /dev/stderr - echo "" > /dev/stderr + echo "Usage: $0 [OPTION]..." 1>&2 + echo "Disconnect lttng markers" 1>&2 + echo "" 1>&2 + echo "Options:" 1>&2 + printf "\t-q Quiet mode, suppress output\n" 1>&2 + printf "\t-h Print this help\n" 1>&2 + echo "" 1>&2 } +if [ "$(id -u)" != "0" ]; then + echo "Error: This script needs to be run as root." 1>&2 + exit 1; +fi + if [ ! "${DEBUGFSROOT}" ]; then - echo "Error: debugfs not mounted" > /dev/stderr + echo "Error: debugfs not mounted" 1>&2 exit 1; fi if [ ! -d "${MARKERSROOT}" ]; then - echo "Error: LTT trace controller not found (did you compile and load LTTng?)" > /dev/stderr + echo "Error: LTT trace controller not found (did you compile and load LTTng?)" 1>&2 exit 1; fi @@ -59,3 +66,12 @@ shift $((${OPTIND} - 1)) fi echo 0 > ${marker} done + +#Unload the kernel modules +for i in ${EXTRAMODULES}; do + rmmod $i 2> /dev/null +done +for i in ${DEFAULTMODULES}; do + rmmod $i +done +