Thought it would be good to have some formatted way of letting user know
about, how to use this script properly and added some checking too for missing
argument.
cc: [email protected]
Signed-off-by: Bhaskar Chowdhury <[email protected]>
---
Changes from V1 : Flip the code blocks of function for logical evaluation
and strip off the path from script when displaying help
tools/rcu/extract-stall.sh | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/tools/rcu/extract-stall.sh b/tools/rcu/extract-stall.sh
index e565697c9f90..6ea76230f72f 100644
--- a/tools/rcu/extract-stall.sh
+++ b/tools/rcu/extract-stall.sh
@@ -1,11 +1,24 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
#
-# Extract any RCU CPU stall warnings present in specified file.
-# Filter out clocksource lines. Note that preceding-lines excludes the
-# initial line of the stall warning but trailing-lines includes it.
-#
-# Usage: extract-stall.sh dmesg-file [ preceding-lines [ trailing-lines ] ]
+# This is a usage function to spit out information about properly use this
+# script
+
+usage() {
+
+ echo Extract any RCU CPU stall warnings present in specified file.
+ echo Filter out clocksource lines. Note that preceding-lines excludes the
+ echo initial line of the stall warning but trailing-lines includes it.
+
+ echo Usage: $(basename $0) dmesg-file [ preceding-lines [ trailing-lines ] ]
+}
+
+# Terminate the script, if the argument is missing
+
+if [ $# -eq 0 ];then
+ usage
+ exit 1
+fi
echo $1
preceding_lines="${2-3}"
--
2.38.2
On Tue, Jan 10, 2023 at 04:46:34PM +0530, Bhaskar Chowdhury wrote:
> Thought it would be good to have some formatted way of letting user know
> about, how to use this script properly and added some checking too for missing
> argument.
>
>
> cc: [email protected]
>
> Signed-off-by: Bhaskar Chowdhury <[email protected]>
Good point on making a usage() function that stands in for the header
comment, thank you! I tweaked this a bit as shown below, so please
check to see if I messed anything up.
Thanx, Paul
------------------------------------------------------------------------
commit f4e5cfbdfe900a41375d68b6c83e438ecc519b7b
Author: Bhaskar Chowdhury <[email protected]>
Date: Tue Jan 10 16:46:34 2023 +0530
tools: rcu: Add usage function and check for argument
This commit converts extract-stall.sh script's header comment to a
usage() function, and adds an argument check. While in the area, make
this script be executable.
[ paulmck: Strength argument check, remove extraneous comment. ]
Signed-off-by: Bhaskar Chowdhury <[email protected]>
Signed-off-by: Paul E. McKenney <[email protected]>
diff --git a/tools/rcu/extract-stall.sh b/tools/rcu/extract-stall.sh
old mode 100644
new mode 100755
index e565697c9f90e..08a39ad44320d
--- a/tools/rcu/extract-stall.sh
+++ b/tools/rcu/extract-stall.sh
@@ -1,11 +1,25 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
-#
-# Extract any RCU CPU stall warnings present in specified file.
-# Filter out clocksource lines. Note that preceding-lines excludes the
-# initial line of the stall warning but trailing-lines includes it.
-#
-# Usage: extract-stall.sh dmesg-file [ preceding-lines [ trailing-lines ] ]
+
+usage() {
+ echo Extract any RCU CPU stall warnings present in specified file.
+ echo Filter out clocksource lines. Note that preceding-lines excludes the
+ echo initial line of the stall warning but trailing-lines includes it.
+ echo
+ echo Usage: $(basename $0) dmesg-file [ preceding-lines [ trailing-lines ] ]
+ echo
+ echo Error: $1
+}
+
+# Terminate the script, if the argument is missing
+
+if test -f "$1" && test -r "$1"
+then
+ :
+else
+ usage "Console log file \"$1\" missing or unreadable."
+ exit 1
+fi
echo $1
preceding_lines="${2-3}"