%
\title{blktrace User Guide}
-\author{blktrace: Jens Axboe (axboe@suse.de)\\
+\author{blktrace: Jens Axboe (jens.axboe@oracle.com)\\
User Guide: Alan D. Brunelle (Alan.Brunelle@hp.com)}
-\date{18 February 2007}
+\date{27 May 2008}
\begin{document}
\maketitle
-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
requeue & \emph{requeue} operations \\ \hline
sync & \emph{synchronous} attribute \\ \hline
write & \emph{write} traces \\ \hline
+notify & \emph{notify} trace messages \\ \hline
\end{tabular}
\subsubsection{\label{sec:request-types}Request types}
& & \emph{start:end-time} -- Display traces from time \emph{start} \\
& & through {end-time} (in ns). \\ \hline
+-M & --no-msgs & Do not add messages to binary output file \\\hline
-v & --verbose & More verbose marginal on marginal errors \\ \hline
-V & --version & Display version \\ \hline
using better hardware - either a better io controller, or a platform
with an IOMMU.
+ \item[m -- message] Text message generated via kernel call to
+ \texttt{blk\_add\_trace\_msg}.
+
\item[M -- back merge] A previously inserted request exists that ends
on the boundary of where this io begins, so the io scheduler can merge
them together.
\subsubsection{\label{sec:act-table}RWBS Description}
This is a small string containing at least one character ('R' for read,
-'W' for write operation), and optionally either a 'B' (for barrier
-operations) or 'S' (for synchronous operations).
+'W' for write, or 'D' for block discard operation), and optionally either
+a 'B' (for barrier operations) or 'S' (for synchronous operations).
\subsubsection{\label{sec:default-output}Default output}
\item[A -- remap] Sector and length is output, along with the original
device and sector offset.
+ \item[m -- message] The supplied message is appended to the end of
+ the standard header.
+
\end{description}
%------------------------------
Adds a trace with a remap event. \emph{dev} and \emph{sector} denote
the original device this \emph{bio} was mapped from.
+ \item[blk\_add\_trace\_msg(struct request\_queue *q, char *fmt, ...)]
+ Adds a formatted message to the output stream. The total message
+ size can not exceed BLK\_TN\_MSG\_MSG characters (currently
+ 1024). Standard format conversions are supported (as supplied
+ by \texttt{vscnprintf}.
\end{description}
\end{document}