Whamcloud - gitweb
LUDOC-370 snapshots: add snapshot feature documentation
[doc/manual.git] / LustreDebugging.xml
index eb5b1a2..abeef9c 100644 (file)
@@ -127,7 +127,7 @@ Diagnostic and Debugging Tools</title>
            packet inspection tool that allows debugging of information that was
            sent between the various Lustre nodes. This tool is built on top of
            <literal>tcpdump</literal> and can read packet dumps generated by
-           it.  There are plug-ins available to dissassemble the LNET and
+           it.  There are plug-ins available to dissassemble the LNet and
            Lustre protocols.  They are located within the <link
            xl:href="http://git.hpdd.intel.com/">Lustre git repository</link>
            under <literal>lustre/contrib/wireshark/</literal>.  Installation
@@ -646,24 +646,29 @@ Debug log: 324 lines, 258 kept, 66 dropped.
         attributes for a new file or directory.</para>
       <para>The <literal>lfs getstripe</literal> command takes a Lustre filename as input and lists
         all the objects that form a part of this file. To obtain this information for the file
-          <literal>/mnt/lustre/frog</literal> in a Lustre file system, run:</para>
-      <screen>$ lfs getstripe /mnt/lustre/frog
+          <literal>/mnt/testfs/frog</literal> in a Lustre file system, run:</para>
+      <screen>$ lfs getstripe /mnt/testfs/frog
 lmm_stripe_count:   2
 lmm_stripe_size:    1048576
+lmm_pattern:        1
+lmm_layout_gen:     0
 lmm_stripe_offset:  2
         obdidx           objid          objid           group
              2          818855        0xc7ea7               0
              0          873123        0xd52a3               0
         </screen>
-      <para>The <literal>debugfs</literal> tool is provided in the <literal>e2fsprogs</literal>
-        package. It can be used for interactive debugging of an <literal>ldiskfs</literal> file
-        system. The <literal>debugfs</literal> tool can either be used to check status or modify
-        information in the file system. In a Lustre file system, all objects that belong to a file
-        are stored in an underlying <literal>ldiskfs</literal> file system on the OSTs. The file
-        system uses the object IDs as the file names. Once the object IDs are known, use the
-          <literal>debugfs</literal> tool to obtain the attributes of all objects from different
-        OSTs.</para>
-      <para>A sample run for the <literal>/mnt/lustre/frog</literal> file used in the above example is shown here:</para>
+      <para>The <literal>debugfs</literal> tool is provided in the
+          <literal>e2fsprogs</literal> package. It can be used for interactive
+          debugging of an <literal>ldiskfs</literal> file system. The
+          <literal>debugfs</literal> tool can either be used to check status or
+          modify information in the file system. In a Lustre file system, all
+          objects that belong to a file are stored in an underlying
+          <literal>ldiskfs</literal> file system on the OSTs. The file system
+          uses the object IDs as the file names. Once the object IDs are known,
+          use the <literal>debugfs</literal> tool to obtain the attributes of
+          all objects from different OSTs.</para>
+      <para>A sample run for the <literal>/mnt/testfs/frog</literal> file used
+          in the above example is shown here:</para>
       <screen>$ debugfs -c -R "stat O/0/d$((818855 % 32))/818855" /dev/vgmyth/lvmythost2
 
 debugfs 1.41.90.wc3 (28-May-2011)
@@ -717,6 +722,13 @@ Filesystem volume name:   myth-OST0004
 lctl&gt; show dlmtrace 
 lctl&gt; debug_kernel [<replaceable>filename</replaceable>] </screen>
     </section>
+    <section remap="h3">
+      <title>Controlling Console Message Rate Limiting</title>
+      <para>Some console messages which are printed by Lustre are rate limited.  When such messages are printed, they may be followed by a message saying "Skipped N previous similar message(s)," where N is the number of messages skipped.  This rate limiting can be completely disabled by a libcfs module parameter called <literal>libcfs_console_ratelimit</literal>.  To disable console message rate limiting, add this line to <literal>/etc/modprobe.d/lustre.conf</literal> and then reload Lustre modules.</para>
+      <screen>options libcfs libcfs_console_ratelimit=0</screen>
+      <para>It is also possible to set the minimum and maximum delays between rate-limited console messages using the module parameters <literal>libcfs_console_max_delay</literal> and <literal>libcfs_console_min_delay</literal>.  Set these in <literal>/etc/modprobe.d/lustre.conf</literal> and then reload Lustre modules.  Additional information on libcfs module parameters is available via <literal>modinfo</literal>:</para>
+      <screen>modinfo libcfs</screen>
+    </section>
   </section>
   <section xml:id="dbdoclet.50438274_80443">
     <title><indexterm><primary>debugging</primary><secondary>developers tools</secondary></indexterm>Lustre Debugging for Developers</title>
@@ -827,7 +839,7 @@ lctl&gt; debug_kernel [<replaceable>filename</replaceable>] </screen>
                   </emphasis></para>
               </entry>
               <entry>
-                <para> Behaves similarly to <literal>CERROR()</literal>, but prints error messages for LNET if <literal>D_NETERR</literal> is set in the <literal>debug</literal> mask. This is appropriate for serious networking errors. Messages printed to the console are rate-limited.</para>
+                <para> Behaves similarly to <literal>CERROR()</literal>, but prints error messages for LNet if <literal>D_NETERR</literal> is set in the <literal>debug</literal> mask. This is appropriate for serious networking errors. Messages printed to the console are rate-limited.</para>
               </entry>
             </row>
             <row>
@@ -976,7 +988,7 @@ lctl&gt; debug_kernel [<replaceable>filename</replaceable>] </screen>
     <section remap="h3">
       <title>Accessing the <literal>ptlrpc</literal> Request History</title>
       <para>Each service maintains a request history, which can be useful for first occurrence troubleshooting.</para>
-      <para><literal>ptlrpc</literal> is an RPC protocol layered on LNET that deals with stateful servers and has semantics and built-in support for recovery.</para>
+      <para><literal>ptlrpc</literal> is an RPC protocol layered on LNet that deals with stateful servers and has semantics and built-in support for recovery.</para>
       <para>The ptlrpc request history works as follows:</para>
       <orderedlist>
         <listitem>