From: Alan D. Brunelle <[EMAIL PROTECTED]>
Added ability to add device names from a file to blktrace.
Added new argument to blktrace:
-I <devs file>
Where <devs file> has one device per line, each device is added to any
explicit -d arg, or the trailing device arguments.
---
blktrace.c | 29 +++++++++++++++++++++++++++--
doc/blktrace.tex | 4 +++-
2 files changed, 30 insertions(+), 3 deletions(-)
diff --git a/blktrace.c b/blktrace.c
index 359cdad..2ad940d 100644
--- a/blktrace.c
+++ b/blktrace.c
@@ -60,7 +60,7 @@ static char blktrace_version[] = "0.99.2";
#define DEBUGFS_TYPE 0x64626720
-#define S_OPTS "d:a:A:r:o:kw:Vb:n:D:lh:p:s"
+#define S_OPTS "d:a:A:r:o:kw:Vb:n:D:lh:p:sI:"
static struct option l_opts[] = {
{
.name = "dev",
@@ -69,6 +69,12 @@ static struct option l_opts[] = {
.val = 'd'
},
{
+ .name = "input-devs",
+ .has_arg = required_argument,
+ .flag = NULL,
+ .val = 'I'
+ },
+ {
.name = "act-mask",
.has_arg = required_argument,
.flag = NULL,
@@ -1749,7 +1755,7 @@ static int net_setup_client(void)
static char usage_str[] = \
"-d <dev> [ -r debugfs path ] [ -o <output> ] [-k ] [ -w time ]\n" \
- "[ -a action ] [ -A action mask ] [ -v ]\n\n" \
+ "[ -a action ] [ -A action mask ] [ -I <devs file> ] [ -v ]\n\n" \
"\t-d Use specified device. May also be given last after options\n" \
"\t-r Path to mounted debugfs, defaults to /sys/kernel/debug\n" \
"\t-o File(s) to send output to\n" \
@@ -1764,6 +1770,7 @@ static char usage_str[] = \
"\t-h Run in network client mode, connecting to the given host\n" \
"\t-p Network port to use (default 8462)\n" \
"\t-s Make the network client NOT use sendfile() to transfer data\n" \
+ "\t-I Add devices found in <devs file>\n" \
"\t-V Print program version info\n\n";
static void show_usage(char *program)
@@ -1807,6 +1814,24 @@ int main(int argc, char *argv[])
return 1;
break;
+ case 'I': {
+ char dev_line[256];
+ FILE *ifp = fopen(optarg, "r");
+
+ if (!ifp) {
+ fprintf(stderr,
+ "Invalid file for devices %s\n",
+ optarg);
+ return 1;
+ }
+
+ while (fscanf(ifp, "%s\n", dev_line) == 1)
+ if (resize_devices(strdup(dev_line)) != 0)
+ return 1;
+ break;
+ }
+
+
case 'r':
debugfs_path = optarg;
break;
diff --git a/doc/blktrace.tex b/doc/blktrace.tex
index 02ae1aa..0a83f4d 100644
--- a/doc/blktrace.tex
+++ b/doc/blktrace.tex
@@ -21,7 +21,7 @@
\title{blktrace User Guide}
\author{blktrace: Jens Axboe ([EMAIL PROTECTED])\\
User Guide: Alan D. Brunelle ([EMAIL PROTECTED])}
-\date{23 February 2005}
+\date{18 February 2007}
\begin{document}
\maketitle
@@ -393,6 +393,8 @@ Short & Long &
Description \\ \hline\hline
-r \emph{rel-path} & --relay=\emph{rel-path} & Specifies debugfs mount
point \\ \hline
-V & --version & Outputs version \\ \hline
-w \emph{seconds} & --stopwatch=\emph{seconds} & Sets run time to the number
of seconds specified \\ \hline
+-I \emph{devs file}& --input-devs=\emph{devs file}& Adds devices found in
\emph{devs file} to list of devices to trace. \\
+ & & (One device per line.) \\
\hline
\end{tabular}
\subsubsection{\label{sec:filter-mask}Filter Masks}