path: root/doc
diff options
authorAlan D. Brunelle <>2010-09-16 09:26:22 -0400
committerAlan D. Brunelle <>2010-09-16 09:26:22 -0400
commitce2151ebdca6f2741dbd903aa3845c56adcba8f4 (patch)
tree4c69b8f9136a8d709d535aff93567b876e5e59b7 /doc
parentfb7f86674a516ddff0d60bfab3bd284a4812075f (diff)
blktrace: disallow -o when using multiple devices
Document that "-o" does not work when specyfing multiple devices to blktrace, also: enforce this by stopping blktrace when one tries do do this. The technical reason why "-o" doesn't work with multiple devices is because we use multiple threads of execution - one per device/CPU pair - and each of them opens a file named "<prefix>.blktrace.<cpu>". With the "-o" all of the "<prefix>" values are the same - so multiple threads open the same file and try to do output. Not good. Without the "-o" we get unique files named: "<device>.blktrace.<cpu>" - as the tuple (<device>,<cpu>) is unique. Signed-off-by: Alan D. Brunelle <>
Diffstat (limited to 'doc')
2 files changed, 7 insertions, 1 deletions
diff --git a/doc/blktrace.8 b/doc/blktrace.8
index ab6a3f3..50b3a62 100644
--- a/doc/blktrace.8
+++ b/doc/blktrace.8
@@ -122,6 +122,9 @@ Specifies number of buffers to use. blktrace defaults to 4 sub buffers.
Prepend \fIfile\fR to output file name(s)
+This only works when supplying a single device, or when piping the output
+via "-o -" with multiple devices.
\-r \fIrel-path\fR
diff --git a/doc/blktrace.tex b/doc/blktrace.tex
index 54fe451..4d8278e 100644
--- a/doc/blktrace.tex
+++ b/doc/blktrace.tex
@@ -389,7 +389,10 @@ Short & Long & Description \\ \hline\hline
-d \emph{dev} & --dev=\emph{dev} & Adds \emph{dev} as a device to trace \\ \hline
-k & --kill & Kill on-going trace \\ \hline
-n \emph{num-sub} & --num-sub=\emph{num-sub} & Specifies number of buffers to use \\ \hline
--o \emph{file} & --output=\emph{file} & Prepend \emph{file} to output file name(s) \\ \hline
+-o \emph{file} & --output=\emph{file} & Prepend \emph{file} to output file name(s) \\
+ & & \textbf{This only works when using a single device} \\
+ & & \textbf{or when piping the output via \texttt{-o -}} \\
+ & & \textbf{with multiple devices.} \\ \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