Whamcloud - gitweb
LUDOC-394 manual: Remove extra 'held' word
[doc/manual.git] / UserUtilities.xml
index 8344fbb..2668220 100644 (file)
-<?xml version="1.0" encoding="UTF-8"?>
-<article version="5.0" xml:lang="en-US" xmlns="http://docbook.org/ns/docbook" xmlns:xl="http://www.w3.org/1999/xlink">
-  <info>
-    <title>User Utilities</title>
-  </info>
-  <informaltable frame="none">
-    <tgroup cols="2">
-      <colspec colname="c1" colwidth="50*"/>
-      <colspec colname="c2" colwidth="50*"/>
-      
-      
-      <tbody>
-        <row>
-          <entry align="left"><para>Lustre 2.0 Operations Manual</para></entry>
-          <entry align="right" valign="top"><para><link xl:href="index.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/toc01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/toc01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link><link xl:href="LustreProc.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/prev01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/prev01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link><link xl:href="LustreProgrammingInterfaces.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/next01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/next01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link><link xl:href="ix.html"><inlinemediaobject><imageobject role="html">
-                    <imagedata contentdepth="26" contentwidth="30" fileref="./shared/index01.gif" scalefit="1"/>
-                  </imageobject>
-<imageobject role="fo">
-                    <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/index01.gif" scalefit="1" width="100%"/>
-                  </imageobject>
-</inlinemediaobject></link></para></entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-  <para><link xl:href=""/></para>
-  <informaltable frame="none">
-    <tgroup cols="1">
-      <colspec colname="c1" colwidth="100*"/>
-      
-      <tbody>
-        <row>
-          <entry align="right"><para><anchor xml:id="dbdoclet.50438206_pgfId-874" xreflabel=""/>C H A P T E R  32</para></entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-  <informaltable frame="none">
-    <tgroup cols="1">
-      <colspec colname="c1" colwidth="100*"/>
-      
-      <tbody>
-        <row>
-          <entry align="right"><para><anchor xml:id="dbdoclet.50438206_pgfId-5529" xreflabel=""/><anchor xml:id="dbdoclet.50438206_66186" xreflabel=""/>User Utilities</para></entry>
-        </row>
-      </tbody>
-    </tgroup>
-  </informaltable>
-  <para><anchor xml:id="dbdoclet.50438206_pgfId-1305183" xreflabel=""/>This chapter describes user utilities and includes the following sections:</para>
-  <itemizedlist><listitem>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305187" xreflabel=""/><link xl:href="UserUtilities.html#50438206_94597">lfs</link></para>
-    </listitem>
-<listitem>
-      <para> </para>
-    </listitem>
-<listitem>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305191" xreflabel=""/><link xl:href="UserUtilities.html#50438206_42260">lfs_migrate</link></para>
-    </listitem>
-<listitem>
-      <para> </para>
-    </listitem>
-<listitem>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305195" xreflabel=""/><link xl:href="UserUtilities.html#50438206_91700">lfsck</link></para>
-    </listitem>
-<listitem>
-      <para> </para>
-    </listitem>
-<listitem>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305199" xreflabel=""/><link xl:href="UserUtilities.html#50438206_75125">Filefrag</link></para>
-    </listitem>
-<listitem>
-      <para> </para>
-    </listitem>
-<listitem>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305203" xreflabel=""/><link xl:href="UserUtilities.html#50438206_86244">Mount</link></para>
-    </listitem>
-<listitem>
-      <para> </para>
-    </listitem>
-<listitem>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305207" xreflabel=""/><link xl:href="UserUtilities.html#50438206_56217">Handling Timeouts</link></para>
-    </listitem>
-<listitem>
-      <para> </para>
-    </listitem>
-</itemizedlist>
-  <section remap="h2">
-    <title><anchor xml:id="dbdoclet.50438206_pgfId-1305210" xreflabel=""/></title>
-    <section remap="h2">
-      <title>32.1 <anchor xml:id="dbdoclet.50438206_94597" xreflabel=""/>l<anchor xml:id="dbdoclet.50438206_marker-1305209" xreflabel=""/>fs</title>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305211" xreflabel=""/>The lfs utility can be used for user configuration routines and monitoring.</para>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305212" xreflabel=""/>Synopsis</title>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305213" xreflabel=""/>lfs
-<anchor xml:id="dbdoclet.50438206_pgfId-1305214" xreflabel=""/>lfs changelog [--follow] &lt;mdtname&gt; [startrec [endrec]]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305215" xreflabel=""/>lfs changelog_clear &lt;mdtname&gt; &lt;id&gt; &lt;endrec&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305216" xreflabel=""/>lfs check &lt;mds|osts|servers&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305217" xreflabel=""/>lfs df [-i] [-h] [--pool]-p &lt;fsname&gt;[.&lt;pool&gt;] [path]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305218" xreflabel=""/>lfs find [[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N] 
-<anchor xml:id="dbdoclet.50438206_pgfId-1305219" xreflabel=""/>   [[!] --ctime|-C [-+]N] [--maxdepth|-D N] [--name|-n &lt;pattern&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305220" xreflabel=""/>   [--print|-p] [--print0|-P] [[!] --obd|-O &lt;uuid[s]&gt;] 
-<anchor xml:id="dbdoclet.50438206_pgfId-1305221" xreflabel=""/>   [[!] --size|-S [+-]N[kMGTPE]] --type |-t {bcdflpsD}]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305222" xreflabel=""/>   [[!] --gid|-g|--group|-G &lt;gname&gt;|&lt;gid&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305223" xreflabel=""/>   [[!] --uid|-u|--user|-U &lt;uname&gt;|&lt;uid&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305224" xreflabel=""/>   &lt;dirname|filename&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305225" xreflabel=""/>lfs osts [path]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305226" xreflabel=""/>lfs getstripe [--obd|-O &lt;uuid&gt;] [--quiet|-q] [--verbose|-v]
-<anchor xml:id="dbdoclet.50438206_pgfId-1306270" xreflabel=""/>                   [--count|-c] [--index|-i | --offset|-o]
-<anchor xml:id="dbdoclet.50438206_pgfId-1306271" xreflabel=""/>                   [--size|-s] [--pool|-p] [--directory|-d]
-<anchor xml:id="dbdoclet.50438206_pgfId-1306272" xreflabel=""/>                   [--recursive|-r] &lt;dirname|filename&gt; ...
-<anchor xml:id="dbdoclet.50438206_pgfId-1305230" xreflabel=""/>lfs setstripe              [--size|-s stripe_size] [--count|-c stripe_cnt] 
-<anchor xml:id="dbdoclet.50438206_pgfId-1306280" xreflabel=""/>           [--index|-i|--offset|-o start_ost_index] 
-<anchor xml:id="dbdoclet.50438206_pgfId-1306281" xreflabel=""/>           [--pool|-p &lt;pool&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1306282" xreflabel=""/>           &lt;dirname|filename&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305233" xreflabel=""/>lfs setstripe -d &lt;dir&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305234" xreflabel=""/>lfs poollist &lt;filesystem&gt;[.&lt;pool&gt;]|&lt;pathname&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305235" xreflabel=""/>lfs quota [-q] [-v] [-o obd_uuid|-I ost_idx|-i mdt_idx] [-u &lt;uname&gt;| -u &lt;uid&gt;|-\
-g &lt;gname&gt;| -g &lt;gid&gt;] &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305236" xreflabel=""/>lfs quota -t &lt;-u|-g&gt; &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305237" xreflabel=""/>lfs quotacheck [-ug] &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305238" xreflabel=""/>lfs quotachown [-i] &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305239" xreflabel=""/>lfs quotaon [-ugf] &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305240" xreflabel=""/>lfs quotaoff [-ug] &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305241" xreflabel=""/>lfs quotainv [-ug] [-f] &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305242" xreflabel=""/>lfs setquota               &lt;-u|--user|-g|--group&gt; &lt;uname|uid|gname|gid&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305243" xreflabel=""/>                   [--block-softlimit &lt;block-softlimit&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305244" xreflabel=""/>                   [--block-hardlimit &lt;block-hardlimit&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305245" xreflabel=""/>                   [--inode-softlimit &lt;inode-softlimit&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305246" xreflabel=""/>                   [--inode-hardlimit &lt;inode-hardlimit&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305247" xreflabel=""/>                   &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305248" xreflabel=""/>lfs setquota &lt;-u|--user|-g|--group&gt; &lt;uname|uid|gname|gid&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305249" xreflabel=""/>           [-b &lt;block-softlimit&gt;] [-B &lt;block-hardlimit&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305250" xreflabel=""/>           [-i &lt;inode-softlimit&gt;] [-I &lt;inode-hardlimit&gt;] 
-<anchor xml:id="dbdoclet.50438206_pgfId-1305251" xreflabel=""/>           &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305252" xreflabel=""/>lfs setquota -t &lt;-u|-g&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305253" xreflabel=""/>           [--block-grace &lt;block-grace&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305254" xreflabel=""/>           [--inode-grace &lt;inode-grace&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305255" xreflabel=""/>           &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305256" xreflabel=""/>lfs setquota -t &lt;-u|-g&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305257" xreflabel=""/>           [-b &lt;block-grace&gt;] [-i &lt;inode-grace&gt;]
-<anchor xml:id="dbdoclet.50438206_pgfId-1305258" xreflabel=""/>           &lt;filesystem&gt;
-<anchor xml:id="dbdoclet.50438206_pgfId-1305259" xreflabel=""/>lfs help
-</screen>
-        <informaltable frame="none">
-          <tgroup cols="1">
-            <colspec colname="c1" colwidth="100*"/>
-            <tbody>
-              <row>
-                <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438206_pgfId-1305260" xreflabel=""/>In the above example, the &lt;filesystem&gt; parameter refers to the mount point of the Lustre file system. The default mount point is /mnt/lustre</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-         <informaltable frame="none">
-          <tgroup cols="1">
-            <colspec colname="c1" colwidth="100*"/>
-            <tbody>
-              <row>
-                <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438206_pgfId-1305261" xreflabel=""/>The old lfs quota output was very detailed and contained cluster-wide quota statistics (including cluster-wide limits for a user/group and cluster-wide usage for a user/group), as well as statistics for each MDS/OST. Now, lfs quota has been updated to provide only cluster-wide statistics, by default. To obtain the full report of cluster-wide limits, usage and statistics, use the -v option with lfs quota.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305262" xreflabel=""/>Description</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305263" xreflabel=""/>The lfs utility is used to create a new file with a specific striping pattern, determine the default striping pattern, gather the extended attributes (object numbers and location) for a specific file, find files with specific attributes, list OST information or set quota limits. It can be invoked interactively without any arguments or in a non-interactive mode with one of the supported arguments.</para>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305264" xreflabel=""/>Options</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305265" xreflabel=""/>The various lfs options are listed and described below. For a complete list of available options, type help at the lfs prompt.</para>
-        <informaltable frame="all">
-          <tgroup cols="3">
-            <colspec colname="c1" colwidth="33*"/>
-            <colspec colname="c2" colwidth="33*"/>
-            <colspec colname="c3" colwidth="33*"/>
-            <thead>
-              <row>
-                <entry nameend="c2" namest="c1"><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305268" xreflabel=""/>Option</emphasis></para></entry>
-                <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305272" xreflabel=""/>Description</emphasis></para></entry>
-              </row>
-            </thead>
-            <tbody>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305276" xreflabel=""/><emphasis role="bold">changelog</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305280" xreflabel=""/>Shows the metadata changes on an MDT. Start and end points are optional. The <emphasis role="bold">--follow</emphasis> option blocks on new changes; this option is only valid when run directly on the MDT node.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305284" xreflabel=""/><emphasis role="bold">changelog_clear</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305288" xreflabel=""/>Indicates that changelog records previous to &lt;endrec&gt; are no longer of interest to a particular consumer &lt;id&gt;, potentially allowing the MDT to free up disk space. An &lt;endrec&gt; of 0 indicates the current last record. Changelog consumers must be registered on the MDT node using lctl.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305292" xreflabel=""/><emphasis role="bold">check</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305296" xreflabel=""/>Displays the status of MDS or OSTs (as specified in the command) or all servers (MDS and OSTs).</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305300" xreflabel=""/><emphasis role="bold">df [-i] [-h] [--pool|-p &lt;fsname&gt;[.&lt;pool&gt;] [path]</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305304" xreflabel=""/>Report file system disk space usage or inode usage (with <emphasis role="bold">-i</emphasis>) of each MDT/OST or a subset of OSTs if a pool is specified with <emphasis role="bold">-p</emphasis>. By default, prints the usage of all mounted Lustre file systems. Otherwise, if <emphasis role="bold">path</emphasis> is specified, prints only the usage of that file system. If <emphasis role="bold">-h</emphasis> is given, the output is printed in human-readable format, using SI base-2 suffixes for <emphasis role="bold">M</emphasis>ega-, <emphasis role="bold">G</emphasis>iga-, <emphasis role="bold">T</emphasis>era-, <emphasis role="bold">P</emphasis>eta-, or <emphasis role="bold">E</emphasis>xabytes.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305308" xreflabel=""/><emphasis role="bold">find</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305312" xreflabel=""/> Searches the directory tree rooted at the given directory/filename for files that match the given parameters.</para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305313" xreflabel=""/> </para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305314" xreflabel=""/>Using ! before an option negates its meaning (files NOT matching the parameter). Using + before a numeric value means files with the parameter OR MORE. Using - before a numeric value means files with the parameter OR LESS.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305318" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305320" xreflabel=""/><emphasis role="bold">--atime</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305322" xreflabel=""/>File was last accessed N*24 hours ago. (There is no guarantee that <emphasis role="bold">atime</emphasis> is kept coherent across the cluster.)</para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305323" xreflabel=""/> </para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305324" xreflabel=""/>OSTs store a transient atime that is updated when clients do read requests. Permanent <emphasis role="bold">atime</emphasis> is written to the MDS when the file is closed. However, on-disk atime is only updated if it is more than 60 seconds old (/proc/fs/lustre/mds/*/max_atime_diff). Lustre considers the latest <emphasis role="bold">atime</emphasis> from all OSTs. If a setattr is set by user, then it is updated on both the MDS and OST, allowing the <emphasis role="bold">atime</emphasis> to go backward.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305328" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305330" xreflabel=""/><emphasis role="bold">--ctime</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305332" xreflabel=""/>File status was last changed N*24 hours ago.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305336" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305338" xreflabel=""/><emphasis role="bold">--mtime</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305340" xreflabel=""/>File data was last modified N*24 hours ago.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305344" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305346" xreflabel=""/><emphasis role="bold">--obd</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305348" xreflabel=""/>File has an object on a specific OST(s).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305352" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305354" xreflabel=""/><emphasis role="bold">--size</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305356" xreflabel=""/>File has a size in bytes, or kilo-, Mega-, Giga-, Tera-, Peta- or Exabytes if a suffix is given.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305360" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305362" xreflabel=""/><emphasis role="bold">--type</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305364" xreflabel=""/>File has the type (block, character, directory, pipe, file, symlink, socket or Door [Solaris]).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305368" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305370" xreflabel=""/><emphasis role="bold">--uid</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305372" xreflabel=""/>File has a specific numeric user ID.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305376" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305378" xreflabel=""/><emphasis role="bold">--user</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305380" xreflabel=""/>File owned by a specific user (numeric user ID allowed).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305384" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305386" xreflabel=""/><emphasis role="bold">--gid</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305388" xreflabel=""/>File has a specific group ID.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305392" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305394" xreflabel=""/><emphasis role="bold">--group</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305396" xreflabel=""/>File belongs to a specific group (numeric group ID allowed).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305400" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305402" xreflabel=""/><emphasis role="bold">--maxdepth</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305404" xreflabel=""/>Limits <emphasis role="bold">find</emphasis> to descend at most N levels of the directory tree.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305408" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305410" xreflabel=""/><emphasis role="bold">--print / --print0</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305412" xreflabel=""/>Prints the full filename, followed by a new line or NULL character correspondingly.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305416" xreflabel=""/><emphasis role="bold">osts [path]</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306293" xreflabel=""/>Lists all OSTs for the file system. If a path located on a Lustre-mounted file system is specified, then only OSTs belonging to this file system are displayed.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305424" xreflabel=""/><emphasis role="bold">getstripe</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305428" xreflabel=""/>Lists striping information for a given filename or directory. By default, the stripe count, stripe size and offset are returned.</para><para> If you only want specific striping information, then the options of --count,--size,--index or --offset plus various combinations of these options can be used to retrieve specific information.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305432" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305434" xreflabel=""/><emphasis role="bold">--obd &lt;uuid&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305436" xreflabel=""/>Lists files that have an object on a specific OST.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305440" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305442" xreflabel=""/><emphasis role="bold">--quiet</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305444" xreflabel=""/>Lists details about the file’s object ID information.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305448" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305450" xreflabel=""/><emphasis role="bold">--verbose</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305452" xreflabel=""/>Prints additional striping information.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305456" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305458" xreflabel=""/><emphasis role="bold">--count</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305460" xreflabel=""/>Lists the stripe count (how many OSTs to use).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306303" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306305" xreflabel=""/><emphasis role="bold">--index</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306307" xreflabel=""/>Lists the index for each OST in the file system.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306311" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306313" xreflabel=""/><emphasis role="bold">--offset</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306315" xreflabel=""/>Lists the OST index on which file striping starts.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306319" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306321" xreflabel=""/><emphasis role="bold">--pool</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306323" xreflabel=""/>Lists the pools to which a file belongs.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305464" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305466" xreflabel=""/><emphasis role="bold">--size</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305468" xreflabel=""/>Lists the stripe size (how much data to write to one OST before moving to the next OST).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305496" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305498" xreflabel=""/><emphasis role="bold">--directory</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305500" xreflabel=""/>Lists entries about a specified directory instead of its contents (in the same manner as ls -d).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305504" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305506" xreflabel=""/><emphasis role="bold">--recursive</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305508" xreflabel=""/>Recurses into all sub-directories.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305512" xreflabel=""/><emphasis role="bold">setstripe</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305516" xreflabel=""/>Create new files with a specific file layout (stripe pattern) configuration.<footnote><para><anchor xml:id="dbdoclet.50438206_pgfId-1305519" xreflabel=""/>The file cannot exist prior to using setstripe. A directory must exist prior to using setstripe.</para></footnote></para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306331" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306333" xreflabel=""/><emphasis role="bold">--count stripe_cnt</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306335" xreflabel=""/>Number of OSTs over which to stripe a file. A <emphasis role="bold">stripe_cnt</emphasis> of 0 uses the file system-wide default stripe count (default is 1). A <emphasis role="bold">stripe_cnt</emphasis> of -1 stripes over all available OSTs, and normally results in a file with 80 stripes.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305523" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305528" xreflabel=""/><emphasis role="bold">--size stripe_size</emphasis><footnote><para><anchor xml:id="dbdoclet.50438206_pgfId-1305527" xreflabel=""/>The default stripe-size is 0. The default start-ost is -1. Do NOT confuse them! If you set start-ost to 0, all new file creations occur on OST 0 (seldom a good idea).</para></footnote> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305531" xreflabel=""/> Number of bytes to store on an OST before moving to the next OST. A <emphasis role="bold">stripe_size</emphasis> of 0 uses the file system’s default stripe size, (default is 1 MB). Can be specified with <emphasis role="bold">k</emphasis> (KB), <emphasis role="bold">m</emphasis> (MB), or <emphasis role="bold">g</emphasis> (GB), respectively.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305543" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305545" xreflabel=""/><emphasis role="bold">--index --offset start_ost_index</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305547" xreflabel=""/> The OST index (base 10, starting at 0) on which to start striping for this file. A start_ost_index value of -1 allows the MDS to choose the starting index. This is the default value, and it means that the MDS selects the starting OST as it wants. We strongly recommend selecting this default, as it allows space and load balancing to be done by the MDS as needed. The <emphasis role="bold">start_ost_index</emphasis> value has no relevance on whether the MDS will use round-robin or QoS weighted allocation for the remaining stripes in the file.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305551" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305553" xreflabel=""/><emphasis role="bold">--pool &lt;pool&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305558" xreflabel=""/>Name of the pre-defined pool of OSTs (see <link xl:href="SystemConfigurationUtilities.html#50438219_38274">lctl</link>) that will be used for striping. The <emphasis role="bold">stripe_cnt</emphasis>, <emphasis role="bold">stripe_size</emphasis> and <emphasis role="bold">start_ost</emphasis> values are used as well. The <emphasis role="bold">start-ost</emphasis> value must be part of the pool or an error is returned.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305570" xreflabel=""/><emphasis role="bold">setstripe -d</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305574" xreflabel=""/>Deletes default striping on the specified directory.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306343" xreflabel=""/><emphasis role="bold">poollist {filesystem} [.poolname]|{pathname}</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305582" xreflabel=""/>Lists pools in the file system or pathname, or OSTs in the file system’s pool.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305586" xreflabel=""/><emphasis role="bold">quota [-q] [-v] [-o obd_uuid|-i mdt_idx|-I ost_idx] [-u|-g &lt;uname&gt;|&lt;uid&gt;|&lt;gname&gt;|&lt;gid&gt;] &lt;filesystem&gt;</emphasis></para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305587" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305591" xreflabel=""/>Displays disk usage and limits, either for the full file system or for objects on a specific OBD. A user or group name or an ID can be specified. If both user and group are omitted, quotas for the current UID/GID are shown. The <emphasis role="bold">-q</emphasis> option disables printing of additional descriptions (including column titles). It fills in blank spaces in the &apos;&apos;grace&apos;&apos; column with zeros (when there is no grace period set), to ensure that the number of columns is consistent. The <emphasis role="bold">-v</emphasis> option provides more verbose (per-OBD statistics) output.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305595" xreflabel=""/><emphasis role="bold">quota -t &lt;-u|-g&gt; &lt;filesystem&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305599" xreflabel=""/>Displays block and inode grace times for user (-u) or group (-g) quotas.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305603" xreflabel=""/><emphasis role="bold">quotachown</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305607" xreflabel=""/>Changes the file’s owner and group on OSTs of the specified file system.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305611" xreflabel=""/><emphasis role="bold">quotacheck [-ugf] &lt;filesystem&gt;</emphasis></para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305612" xreflabel=""/> </para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305616" xreflabel=""/>Scans the specified file system for disk usage, and creates or updates quota files. Options specify quota for users (-u), groups (-g), and force (-f).</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305620" xreflabel=""/><emphasis role="bold">quotaon [-ugf] &lt;filesystem&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305624" xreflabel=""/>Turns on file system quotas. Options specify quota for users (-u), groups (-g), and force (-f).</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305628" xreflabel=""/><emphasis role="bold">quotaoff [-ugf] &lt;filesystem&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305632" xreflabel=""/>Turns off file system quotas. Options specify quota for users (-u), groups (-g), and force (-f).</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305636" xreflabel=""/><emphasis role="bold">quotainv [-ug] [-f] &lt;filesystem&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305640" xreflabel=""/>Clears quota files (administrative quota files if used without <emphasis role="bold">-f</emphasis>, operational quota files otherwise), all of their quota entries for users (-u) or groups (-g). After running <emphasis role="bold">quotainv</emphasis>, you must run <emphasis role="bold">quotacheck</emphasis> before using quotas.</para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305641" xreflabel=""/><emphasis role="bold">CAUTION</emphasis>: Use extreme caution when using this command; its results cannot be undone.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305645" xreflabel=""/><emphasis role="bold">setquota &lt;-u|-g&gt; &lt;uname&gt;|&lt;uid&gt;|&lt;gname&gt;|&lt;gid&gt; [--block-softlimit &lt;block-softlimit&gt;] [--block-hardlimit &lt;block-hardlimit&gt;] [--inode-softlimit &lt;inode-softlimit&gt;] [--inode-hardlimit &lt;inode-hardlimit&gt;] &lt;filesystem&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305649" xreflabel=""/>Sets file system quotas for users or groups. Limits can be specified with --{block|inode}-{softlimit|hardlimit} or their short equivalents -b, -B, -i, -I. Users can set 1, 2, 3 or 4 limits.<footnote><para><anchor xml:id="dbdoclet.50438206_pgfId-1305652" xreflabel=""/>The old setquota interface is supported, but it may be removed in a future Lustre release.</para></footnote> Also, limits can be specified with special suffixes, -b, -k, -m, -g, -t, and -p to indicate units of 1, 2^10, 2^20, 2^30, 2^40 and 2^50, respectively. By default, the block limits unit is 1 kilobyte (1,024), and block limits are always kilobyte-grained (even if specified in bytes). See <link xl:href="UserUtilities.html#50438206_11903">Examples</link>.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305659" xreflabel=""/><emphasis role="bold">setquota -t &lt;-u|-g&gt;</emphasis></para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305660" xreflabel=""/><emphasis role="bold">[--block-grace &lt;block-grace&gt;]</emphasis></para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305661" xreflabel=""/><emphasis role="bold">[--inode-grace &lt;inode-grace&gt;] &lt;filesystem&gt;</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305665" xreflabel=""/>Sets the file system quota grace times for users or groups. Grace time is specified in â€œXXwXXdXXhXXmXXs†format or as an integer seconds value. See <link xl:href="UserUtilities.html#50438206_11903">Examples</link>.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305672" xreflabel=""/><emphasis role="bold">help</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305676" xreflabel=""/>Provides brief help on various lfs arguments.</para></entry>
-              </row>
-              <row>
-                <entry nameend="c2" namest="c1"><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305680" xreflabel=""/><emphasis role="bold">exit/quit</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305684" xreflabel=""/>Quits the interactive lfs session.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1306365" xreflabel=""/><anchor xml:id="dbdoclet.50438206_11903" xreflabel=""/><anchor xml:id="dbdoclet.50438206_74082" xreflabel=""/>Examples</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1306366" xreflabel=""/>Creates a file striped on two OSTs with 128 KB on each stripe.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306367" xreflabel=""/>$ lfs setstripe -s 128k -c 2 /mnt/lustre/file1
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306369" xreflabel=""/>Deletes a default stripe pattern on a given directory. New files use the default striping pattern.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306370" xreflabel=""/>$ lfs setstripe -d /mnt/lustre/dir
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306372" xreflabel=""/>Lists the detailed object allocation of a given file.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306373" xreflabel=""/>$ lfs getstripe -v /mnt/lustre/file1
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306375" xreflabel=""/>Efficiently lists all files in a given directory and its subdirectories.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306376" xreflabel=""/>$ lfs find /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306378" xreflabel=""/>Recursively lists all regular files in a given directory more than 30 days old.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306379" xreflabel=""/>$ lfs find /mnt/lustre -mtime +30 -type f -print
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306381" xreflabel=""/>Recursively lists all files in a given directory that have objects on OST2-UUID. The lfs check servers command checks the status of all servers (MDT and OSTs).</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306382" xreflabel=""/>$ lfs find --obd OST2-UUID /mnt/lustre/
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306384" xreflabel=""/>Lists all OSTs in the file system.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306385" xreflabel=""/>$ lfs osts
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306387" xreflabel=""/>Lists space usage per OST and MDT in human-readable format.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306388" xreflabel=""/>$ lfs df -h
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306390" xreflabel=""/>Lists inode usage per OST and MDT.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306391" xreflabel=""/>$ lfs df -i
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306393" xreflabel=""/>List space or inode usage for a specific OST pool.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306394" xreflabel=""/>$ lfs df --pool &lt;filesystem&gt;[.&lt;pool&gt;] | &lt;pathname&gt;
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306396" xreflabel=""/>List quotas of user â€˜bob’.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306397" xreflabel=""/>$ lfs quota -u bob /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306399" xreflabel=""/>Show grace times for user quotas on /mnt/lustre.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306400" xreflabel=""/>$ lfs quota -t -u /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306402" xreflabel=""/>Changes file owner and group.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306403" xreflabel=""/>$ lfs quotachown -i /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306405" xreflabel=""/>Checks quotas for user and group. Turns on quotas after making the check.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306406" xreflabel=""/>$ lfs quotacheck -ug /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306408" xreflabel=""/>Turns on quotas of user and group.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306409" xreflabel=""/>$ lfs quotaon -ug /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306411" xreflabel=""/>Turns off quotas of user and group.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306412" xreflabel=""/>$ lfs quotaoff -ug /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306414" xreflabel=""/>Sets quotas of user â€˜bob’, with a 1 GB block quota hardlimit and a 2 GB block quota softlimit.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306415" xreflabel=""/>$ lfs setquota -u bob --block-softlimit 2000000 --block-hardlimit 1000000 /\
-mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306417" xreflabel=""/>Sets grace times for user quotas: 1000 seconds for block quotas, 1 week and 4 days for inode quotas.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306418" xreflabel=""/>$ lfs setquota -t -u --block-grace 1000 --inode-grace 1w4d /mnt/lustre
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306420" xreflabel=""/>Checks the status of all servers (MDT, OST)</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306421" xreflabel=""/>$ lfs check servers
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306423" xreflabel=""/>Creates a file striped on two OSTs from the pool my_pool</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306424" xreflabel=""/>$ lfs setstripe --pool my_pool -c 2 /mnt/lustre/file
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306426" xreflabel=""/>Lists the pools defined for the mounted Lustre file system /mnt/lustre</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306427" xreflabel=""/>$ lfs poollist /mnt/lustre/
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306429" xreflabel=""/>Lists the OSTs which are members of the pool my_pool in file system my_fs</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306430" xreflabel=""/>$ lfs poollist my_fs.my_pool
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306432" xreflabel=""/>Finds all directories/files associated with poolA.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306433" xreflabel=""/>$ lfs find /mnt/lustre --pool poolA
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306435" xreflabel=""/>Finds all directories/files not associated with a pool.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306436" xreflabel=""/>$ lfs find /mnt//lustre --pool &quot;&quot;
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306438" xreflabel=""/>Finds all directories/files associated with pool.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306439" xreflabel=""/>$ lfs find /mnt/lustre ! --pool &quot;&quot;
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1306441" xreflabel=""/>Associates a directory with the pool my_pool, so all new files and directories are created in the pool.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306442" xreflabel=""/>$ lfs setstripe --pool my_pool /mnt/lustre/dir
+<?xml version="1.0" encoding="utf-8"?>
+<chapter xmlns="http://docbook.org/ns/docbook"
+ xmlns:xl="http://www.w3.org/1999/xlink" version="5.0" xml:lang="en-US"
+ xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="userutilities">
+  <title xml:id="userutilities.title">User Utilities</title>
+  <para>This chapter describes user utilities.</para>
+  <section xml:id="userutilities.lfs">
+    <title>
+      <indexterm>
+        <primary>lfs</primary>
+      </indexterm>
+      <literal>lfs</literal>
+    </title>
+    <para>The 
+    <literal>lfs</literal> utility can be used for user configuration routines
+    and monitoring.</para>
+    <section remap="h5">
+      <title>Synopsis</title>
+      <screen>
+lfs
+lfs changelog [--follow] <replaceable>mdt_name</replaceable> [startrec [endrec]]
+lfs changelog_clear <replaceable>mdt_name id endrec</replaceable>
+lfs check <replaceable>mds|osts|servers</replaceable>
+lfs data_version [-nrw] <replaceable>filename</replaceable>
+lfs df [-i] [-h] [--pool]-p <replaceable>fsname</replaceable>[.<replaceable>pool</replaceable>] [<replaceable>path</replaceable>] [--lazy]
+lfs find [[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N]
+         [[!] --ctime|-C [-+]N] [--maxdepth|-D N] [--name|-n <replaceable>pattern</replaceable>]
+         [--print|-p] [--print0|-P] [[!] --obd|-O <replaceable>ost_name</replaceable>[,<replaceable>ost_name...</replaceable>]]
+         [[!] --size|-S [+-]N[kMGTPE]] --type |-t {bcdflpsD}]
+         [[!] --gid|-g|--group|-G <replaceable>gname|gid</replaceable>]
+         [[!] --uid|-u|--user|-U <replaceable>uname|uid</replaceable>]
+         <replaceable>dirname|filename</replaceable>
+lfs getname [-h]|[path...]
+lfs getstripe [--obd|-O <replaceable>ost_name</replaceable>] [--quiet|-q] [--verbose|-v]
+              [--stripe-count|-c] [--stripe-index|-i]
+              [--stripe-size|-s] [--pool|-p] [--directory|-d]
+              [--mdt-index|-M] [--recursive|-r] [--raw|-R]
+              [--layout|-L]
+              <replaceable>dirname|filename</replaceable> ...
+lfs setstripe [--size|-s stripe_size] [--stripe-count|-c <replaceable>stripe_count</replaceable>]
+              [--overstripe-count|-C <replaceable>stripe_count</replaceable>]
+              [--stripe-index|-i <replaceable>start_ost_index</replaceable>]
+              [--ost-list|-o <replaceable>ost_indicies</replaceable>]
+              [--pool|-p <replaceable>pool</replaceable>]
+              <replaceable>dirname|filename</replaceable>
+lfs setstripe -d <replaceable>dir</replaceable>
+lfs osts [path]
+lfs pool_list <replaceable>filesystem</replaceable>[.<replaceable>pool</replaceable>]| <replaceable>pathname</replaceable>
+lfs quota [-q] [-v] [-h] [-o <replaceable>obd_uuid</replaceable>|-I <replaceable>ost_idx</replaceable>|-i <replaceable>mdt_idx</replaceable>]
+          [-u <replaceable>username|uid|-g</replaceable> <replaceable>group|gid</replaceable>|-p <replaceable>projid</replaceable>] <replaceable>/mount_point</replaceable>
+lfs quota -t -u|-g|-p <replaceable>/mount_point</replaceable>
+lfs setquota {-u|--user|-g|--group|-p|--project} <replaceable>uname|uid|gname|gid|projid</replaceable>
+             [--block-softlimit <replaceable>block_softlimit</replaceable>]
+             [--block-hardlimit <replaceable>block_hardlimit</replaceable>]
+             [--inode-softlimit <replaceable>inode_softlimit</replaceable>]
+             [--inode-hardlimit <replaceable>inode_hardlimit</replaceable>]
+             <replaceable>/mount_point</replaceable>
+lfs setquota -u|--user|-g|--group|-p|--project <replaceable>uname|uid|gname|gid|projid</replaceable>
+             [-b <replaceable>block_softlimit</replaceable>] [-B <replaceable>block_hardlimit</replaceable>]
+             [-i <replaceable>inode-softlimit</replaceable>] [-I <replaceable>inode_hardlimit</replaceable>]
+             <replaceable>/mount_point</replaceable>
+lfs setquota -t -u|-g|-p [--block-grace <replaceable>block_grace</replaceable>]
+             [--inode-grace <replaceable>inode_grace</replaceable>]
+             <replaceable>/mount_point</replaceable>
+lfs setquota -t -u|-g|-p [-b <replaceable>block_grace</replaceable>] [-i <replaceable>inode_grace</replaceable>]
+             <replaceable>/mount_point</replaceable>
+lfs help
 </screen>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305765" xreflabel=""/>See Also</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305769" xreflabel=""/><link xl:href="SystemConfigurationUtilities.html#50438219_38274">lctl</link></para>
-      </section>
+      <note>
+        <para>In the above example, the 
+        <literal>
+          <replaceable>/mount_point</replaceable>
+        </literal> parameter refers to the mount point of the Lustre file
+        system.</para>
+      </note>
+      <note>
+        <para>The old lfs quota output was very detailed and contained
+        cluster-wide quota statistics (including cluster-wide limits for a
+        user/group and cluster-wide usage for a user/group), as well as
+        statistics for each MDS/OST. Now, 
+        <literal>lfs quota</literal> has been updated to provide only
+        cluster-wide statistics, by default. To obtain the full report of
+        cluster-wide limits, usage and statistics, use the 
+        <literal>-v</literal> option with 
+        <literal>lfs quota</literal>.</para>
+      </note>
+      <para condition="l28">
+       The <literal>quotacheck</literal>, <literal>quotaon</literal> and
+       <literal>quotaoff</literal> sub-commands were deprecated in the
+       Lustre 2.4 release, and removed completely in the Lustre 2.8 release.
+       See <xref linkend="enabling_disk_quotas"/> for details on
+       configuring and checking quotas.
+      </para>
     </section>
-    <section remap="h2">
-      <title>32.2 <anchor xml:id="dbdoclet.50438206_42260" xreflabel=""/>lfs_migrate</title>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305772" xreflabel=""/>The lfs_migrate utility is a simple tool to migrate files between Lustre OSTs.</para>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305773" xreflabel=""/>Synopsis</title>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305774" xreflabel=""/>lfs_migrate [-c|-s] [-h] [-l] [-n] [-y] [file|directory ...]
-</screen>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305775" xreflabel=""/>Description</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305776" xreflabel=""/>The lfs_migrate utility is a simple tool to assist migration of files between Lustre OSTs. The utility copies each specified file to a new file, verifies the file contents have not changed, and then renames the new file to the original filename. This allows balanced space usage between OSTs, moving files of OSTs that are starting to show hardware problems (though are still functional) or OSTs that will be discontinued.</para>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305777" xreflabel=""/>Because lfs_migrate is not closely integrated with the MDS, it cannot determine whether a file is currently open and/or in-use by other applications or nodes. This makes it UNSAFE for use on files that might be modified by other applications, since the migrated file is only a copy of the current file. This results in the old file becoming an open-unlinked file and any modifications to that file are lost.</para>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305778" xreflabel=""/>Files to be migrated can be specified as command-line arguments. If a directory is specified on the command-line then all files within the directory are migrated. If no files are specified on the command-line, then a list of files is read from the standard input, making lfs_migrate suitable for use with lfs find to locate files on specific OSTs and/or matching other file attributes.</para>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305779" xreflabel=""/>The current file allocation policies on the MDS dictate where the new files are placed, taking into account whether specific OSTs have been disabled on the MDS via lctl (preventing new files from being allocated there), whether some OSTs are overly full (reducing the number of files placed on those OSTs), or if there is a specific default file striping for the target directory (potentially changing the stripe count, stripe size, OST pool, or OST index of a new file).</para>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305780" xreflabel=""/>Options</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305830" xreflabel=""/>Options supporting lfs_migrate are described below.</para>
-        <informaltable frame="all">
-          <tgroup cols="2">
-            <colspec colname="c1" colwidth="50*"/>
-            <colspec colname="c2" colwidth="50*"/>
-            <thead>
-              <row>
-                <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305783" xreflabel=""/>Option</emphasis></para></entry>
-                <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305785" xreflabel=""/>Description</emphasis></para></entry>
-              </row>
-            </thead>
-            <tbody>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305789" xreflabel=""/><emphasis role="bold">-c</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305791" xreflabel=""/>Compares file data after migrate (default value, use <emphasis role="bold">-s</emphasis> to disable).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305795" xreflabel=""/><emphasis role="bold">-s</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305797" xreflabel=""/>Skips file data comparison after migrate (use <emphasis role="bold">-c</emphasis> to enable).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305801" xreflabel=""/><emphasis role="bold">-h</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305803" xreflabel=""/>Displays help information.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305807" xreflabel=""/><emphasis role="bold">-l</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305809" xreflabel=""/>Migrates files with hard links (skips, by default). Files with multiple hard links are split into multiple separate files by lfs_migrate, so they are skipped, by default, to avoid breaking the hard links.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305813" xreflabel=""/><emphasis role="bold">-n</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305815" xreflabel=""/>Only prints the names of files to be migrated.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305819" xreflabel=""/><emphasis role="bold">-q</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305821" xreflabel=""/>Runs quietly (does not print filenames or status).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305825" xreflabel=""/><emphasis role="bold">--y</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305827" xreflabel=""/>Answers &apos;y&apos; to usage warning without prompting (for scripts).</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305831" xreflabel=""/>Examples</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305833" xreflabel=""/>Rebalances all files in /mnt/lustre/dir.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305832" xreflabel=""/>$ lfs_migrate /mnt/lustre/file
-</screen>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305834" xreflabel=""/> </para>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305836" xreflabel=""/>Migrates files in /test filesystem on OST004 larger than 4 GB in size.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305835" xreflabel=""/>$ lfs find /test -obd test-OST004 -size +4G | lfs_migrate -y
-</screen>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305837" xreflabel=""/>See Also</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305841" xreflabel=""/><link xl:href="UserUtilities.html#50438206_94597">lfs</link></para>
-      </section>
+    <section remap="h5">
+      <title>Description</title>
+      <para>The 
+      <literal>lfs</literal> utility is used to create a new file with a
+      specific striping pattern, determine the default striping pattern, gather
+      the extended attributes (object numbers and location) for a specific
+      file, find files with specific attributes, list OST information or set
+      quota limits. It can be invoked interactively without any arguments or in
+      a non-interactive mode with one of the supported arguments.</para>
     </section>
-    <section remap="h2">
-      <title>32.3 <anchor xml:id="dbdoclet.50438206_91700" xreflabel=""/>lf<anchor xml:id="dbdoclet.50438206_marker-1305843" xreflabel=""/>sck</title>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305845" xreflabel=""/>Lfsck ensures that objects are not referenced by multiple MDS files, that there are no orphan objects on the OSTs (objects that do not have any file on the MDS which references them), and that all of the objects referenced by the MDS exist. Under normal circumstances, Lustre maintains such coherency by distributed logging mechanisms, but under exceptional circumstances that may fail (e.g. disk failure, file system corruption leading to e2fsck repair). To avoid lengthy downtime, you can also run lfsck once Lustre is already started.</para>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305846" xreflabel=""/>The e2fsck utility is run on each of the local MDS and OST device file systems and verifies that the underlying ldiskfs is consistent. After e2fsck is run, lfsck does distributed coherency checking for the Lustre file system. In most cases, e2fsck is sufficient to repair any file system issues and lfsck is not required.</para>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305847" xreflabel=""/>Synopsis</title>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305848" xreflabel=""/>lfsck [-c|--create] [-d|--delete] [-f|--force] [-h|--help] [-l|--lostfound]\
- [-n|--nofix] [-v|--verbose] --mdsdb mds_database_file --ostdb ost1_databas\
-e_file [ost2_database_file...] &lt;filesystem&gt;
-</screen>
-         <informaltable frame="none">
-          <tgroup cols="1">
-            <colspec colname="c1" colwidth="100*"/>
-            <tbody>
-              <row>
-                <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438206_pgfId-1305849" xreflabel=""/>As shown, the &lt;filesystem&gt; parameter refers to the Lustre file system mount point. The default mount point is /mnt/lustre.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-         <informaltable frame="none">
-          <tgroup cols="1">
-            <colspec colname="c1" colwidth="100*"/>
-            <tbody>
-              <row>
-                <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438206_pgfId-1305850" xreflabel=""/>For lfsck, database filenames must be provided as absolute pathnames. Relative paths do not work, the databases cannot be properly opened.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305851" xreflabel=""/>Options</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305909" xreflabel=""/>The options and descriptions for the lfsck command are listed below.</para>
-        <informaltable frame="all">
-          <tgroup cols="2">
-            <colspec colname="c1" colwidth="50*"/>
-            <colspec colname="c2" colwidth="50*"/>
-            <thead>
-              <row>
-                <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305854" xreflabel=""/>Option</emphasis></para></entry>
-                <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305858" xreflabel=""/>Description</emphasis></para></entry>
-              </row>
-            </thead>
-            <tbody>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305860" xreflabel=""/><emphasis role="bold">-c</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305864" xreflabel=""/>Creates (empty) missing OST objects referenced by MDS inodes.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305866" xreflabel=""/><emphasis role="bold">-d</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305870" xreflabel=""/>Deletes orphaned objects from the file system. Since objects on the OST are often only one of several stripes of a file, it can be difficult to compile multiple objects together in a single, usable file.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305872" xreflabel=""/><emphasis role="bold">-h</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305876" xreflabel=""/>Prints a brief help message.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305878" xreflabel=""/><emphasis role="bold">-l</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305882" xreflabel=""/> Puts orphaned objects into a lost+found directory in the root of the file system.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305884" xreflabel=""/><emphasis role="bold">-n</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305888" xreflabel=""/>Does not repair the file system, just performs a read-only check (default).</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305890" xreflabel=""/><emphasis role="bold">-v</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305894" xreflabel=""/>Verbose operation - more verbosity by specifying the option multiple times.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305896" xreflabel=""/><emphasis role="bold">--mdsdb</emphasis></para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305897" xreflabel=""/><emphasis role="bold">mds_database_file</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305901" xreflabel=""/> MDS database file created by running e2fsck --mdsdb mds_database_file &lt;device&gt; on the MDS backing device. This is required.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305903" xreflabel=""/><emphasis role="bold">--ostdb ost1_database_file</emphasis></para><para><anchor xml:id="dbdoclet.50438206_pgfId-1305904" xreflabel=""/><emphasis role="bold">[ost2_database_file...]</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305908" xreflabel=""/> OST database files created by running e2fsck --ostdb ost_database_file &lt;device&gt; on each of the OST backing devices. These are required unless an OST is unavailable, in which case all objects thereon are considered missing.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305910" xreflabel=""/>Description</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305911" xreflabel=""/>The lfsck utility is used to check and repair the distributed coherency of a Lustre file system. If an MDS or an OST becomes corrupt, run a distributed check on the file system to determine what sort of problems exist. Use lfsck to correct any defects found.</para>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305914" xreflabel=""/>For more information on using e2fsck and lfsck, including examples, see <link xl:href="LustreRecovery.html#50438268_83826">Commit on Share</link>. For information on resolving orphaned objects, see <link xl:href="TroubleShootingRecovery.html#50438225_13916">Working with Orphaned Objects</link>.</para>
-      </section>
-    </section>
-    <section remap="h2">
-      <title>32.4 <anchor xml:id="dbdoclet.50438206_75125" xreflabel=""/>File<anchor xml:id="dbdoclet.50438206_marker-1305920" xreflabel=""/>frag</title>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305922" xreflabel=""/>The e2fsprogs package contains the filefrag tool which reports the extent of file fragmentation.</para>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305923" xreflabel=""/>Synopsis</title>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305924" xreflabel=""/>filefrag [ -belsv ] [ files...  ]
-</screen>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305925" xreflabel=""/>Description</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305926" xreflabel=""/>The filefrag utility reports the extent of fragmentation in a given file. Initially, filefrag attempts to obtain extent information using FIEMAP ioctl, which is efficient and fast. If FIEMAP is not supported, then filefrag uses FIBMAP.</para>
-        <informaltable frame="none">
-          <tgroup cols="1">
-            <colspec colname="c1" colwidth="100*"/>
-            <tbody>
-              <row>
-                <entry><para><emphasis role="bold">Note -</emphasis><anchor xml:id="dbdoclet.50438206_pgfId-1305927" xreflabel=""/>Lustre only supports FIEMAP ioctl. FIBMAP ioctl is not supported.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305931" xreflabel=""/>In default mode <footnote><para><anchor xml:id="dbdoclet.50438206_pgfId-1305930" xreflabel=""/>The default mode is faster than the verbose/extent mode.</para></footnote>, filefrag returns the number of physically discontiguous extents in the file. In extent or verbose mode, each extent is printed with details. For Lustre, the extents are printed in device offset order, not logical offset order.</para>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305932" xreflabel=""/>Options</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305971" xreflabel=""/>The options and descriptions for the filefrag utility are listed below.</para>
-        <informaltable frame="all">
-          <tgroup cols="2">
-            <colspec colname="c1" colwidth="50*"/>
-            <colspec colname="c2" colwidth="50*"/>
-            <thead>
-              <row>
-                <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305935" xreflabel=""/>Option</emphasis></para></entry>
-                <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305937" xreflabel=""/> <anchor xml:id="dbdoclet.50438206_pgfId-1305938" xreflabel=""/>Description</emphasis></para></entry>
-              </row>
-            </thead>
-            <tbody>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305942" xreflabel=""/><emphasis role="bold">-b</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305944" xreflabel=""/>Uses the 1024-byte blocksize for the output. By default, this blocksize is used by Lustre, since OSTs may use different block sizes.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305948" xreflabel=""/><emphasis role="bold">-e</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305950" xreflabel=""/> Uses the extent mode when printing the output.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305954" xreflabel=""/><emphasis role="bold">-l</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305956" xreflabel=""/>Displays extents in LUN offset order.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305960" xreflabel=""/><emphasis role="bold">-s</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305962" xreflabel=""/>Synchronizes the file before requesting the mapping.</para></entry>
-              </row>
-              <row>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305966" xreflabel=""/><emphasis role="bold">-v</emphasis></para></entry>
-                <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1305968" xreflabel=""/>Uses the verbose mode when checking file fragmentation.</para></entry>
-              </row>
-            </tbody>
-          </tgroup>
-        </informaltable>
-      </section>
-      <section remap="h5">
-        <title><anchor xml:id="dbdoclet.50438206_pgfId-1305972" xreflabel=""/>Examples</title>
-        <para><anchor xml:id="dbdoclet.50438206_pgfId-1305973" xreflabel=""/>Lists default output.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305974" xreflabel=""/>$ filefrag /mnt/lustre/foo
-<anchor xml:id="dbdoclet.50438206_pgfId-1305975" xreflabel=""/>/mnt/lustre/foo: 6 extents found
-</screen>
-         <para><anchor xml:id="dbdoclet.50438206_pgfId-1305976" xreflabel=""/>Lists verbose output in extent format.</para>
-        <screen><anchor xml:id="dbdoclet.50438206_pgfId-1305977" xreflabel=""/>$ filefrag  -ve /mnt/lustre/foo 
-<anchor xml:id="dbdoclet.50438206_pgfId-1305978" xreflabel=""/>Checking /mnt/lustre/foo
-<anchor xml:id="dbdoclet.50438206_pgfId-1305979" xreflabel=""/>Filesystem type is: bd00bd0
-<anchor xml:id="dbdoclet.50438206_pgfId-1305980" xreflabel=""/>Filesystem cylinder groups is approximately 5
-<anchor xml:id="dbdoclet.50438206_pgfId-1305981" xreflabel=""/>File size of /mnt/lustre/foo is 157286400 (153600 blocks)
-<anchor xml:id="dbdoclet.50438206_pgfId-1305982" xreflabel=""/>ext:       device_logical:         start..end              physical:       \
-        start..end:             length:         device:         flags:
-<anchor xml:id="dbdoclet.50438206_pgfId-1305983" xreflabel=""/>0: 0..                     49151:                  212992..                \
-262144:                 49152:          0:              remote
-<anchor xml:id="dbdoclet.50438206_pgfId-1305984" xreflabel=""/>1: 49152..                 73727:                  270336..                \
-294912:                 24576:          0:              remote
-<anchor xml:id="dbdoclet.50438206_pgfId-1305985" xreflabel=""/>2: 73728..                 76799:                  24576..                 \
-27648:                  3072:           0:              remote
-<anchor xml:id="dbdoclet.50438206_pgfId-1305986" xreflabel=""/>3: 0..                     57343:                  196608..                \
-253952:                 57344:          1:              remote
-<anchor xml:id="dbdoclet.50438206_pgfId-1305987" xreflabel=""/>4: 57344..                 65535:                  139264..                \
-147456:                 8192:           1:              remote
-<anchor xml:id="dbdoclet.50438206_pgfId-1305988" xreflabel=""/>5: 65536..                 76799:                  163840..                \
-175104:                 11264:          1:              remote
-<anchor xml:id="dbdoclet.50438206_pgfId-1305989" xreflabel=""/>/mnt/lustre/foo: 6 extents found
-</screen>
-      </section>
-    </section>
-    <section remap="h2">
-      <title>32.5 <anchor xml:id="dbdoclet.50438206_86244" xreflabel=""/>Mou<anchor xml:id="dbdoclet.50438206_marker-1305992" xreflabel=""/>nt</title>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1305994" xreflabel=""/>Lustre uses the standard mount(8) Linux command. When mounting a Lustre file system, mount(8) executes the /sbin/mount.lustre command to complete the mount. The mount command supports these Lustre-specific options:</para>
+    <section remap="h5">
+      <title>Options</title>
+      <para>The various 
+      <literal>lfs</literal> options are listed and described below. For a
+      complete list of available options, type help at the 
+      <literal>lfs</literal> prompt.</para>
       <informaltable frame="all">
-        <tgroup cols="2">
-          <colspec colname="c1" colwidth="50*"/>
-          <colspec colname="c2" colwidth="50*"/>
+        <tgroup cols="3">
+          <colspec colname="c1" colwidth="20*" />
+          <colspec colname="c2" colwidth="30*" />
+          <colspec colname="c3" colwidth="50*" />
           <thead>
             <row>
-              <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305997" xreflabel=""/>Server options</emphasis></para></entry>
-              <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1305999" xreflabel=""/>Description</emphasis></para></entry>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <emphasis role="bold">Option</emphasis>
+                </para>
+              </entry>
+              <entry>
+                <para>
+                  <emphasis role="bold">Description</emphasis>
+                </para>
+              </entry>
             </row>
           </thead>
           <tbody>
             <row>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306001" xreflabel=""/>abort_recov</para></entry>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306003" xreflabel=""/>Aborts recovery when starting a target</para></entry>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>changelog</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Shows the metadata changes on an MDT. Start and end
+                points are optional. The 
+                <literal>--follow</literal> option blocks on new changes; this
+                option is only valid when run directly on the MDT node.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>changelog_clear</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Indicates that changelog records previous to 
+                <literal>
+                  <replaceable>endrec</replaceable>
+                </literal> are no longer of interest to a particular consumer 
+                <literal>
+                  <replaceable>id</replaceable>
+                </literal>, potentially allowing the MDT to free up disk space.
+                An 
+                <literal>
+                  <replaceable>endrec</replaceable>
+                </literal> of 0 indicates the current last record. Changelog
+                consumers must be registered on the MDT node using 
+                <literal>lctl</literal>.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <literal>check</literal>
+              </entry>
+              <entry>
+                <para>Displays the status of MDS or OSTs (as specified in the
+                command) or all servers (MDS and OSTs).</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>data_version [-nrw]
+                  <replaceable>filename</replaceable></literal>
+                </para>
+              </entry>
+              <entry>
+               <para>Displays the current version of file data. If
+               <literal>-n</literal> is specified, the data version is read
+               without taking a lock. As a consequence, the data version could
+               be outdated if there are dirty caches on filesystem clients, but
+               this option will not force data flushes and has less of an
+               impact on the filesystem. If <literal>-r</literal> is specified,
+               the data version is read after dirty pages on clients are
+               flushed. If <literal>-w</literal> is specified, the data version
+               is read after all caching pages on clients are flushed.
+               </para>
+               <para>
+               Even with <literal>-r</literal> or <literal>-w</literal>, race
+               conditions are possible and the data version should be checked
+               before and after an operation to be confident the data did not
+               change during it.
+               </para>
+               <para>
+               The  data  version is the sum of the last committed transaction
+               numbers of all data objects of a file. It is used by HSM policy
+               engines for verifying that file data has not been changed during
+               an archive operation or before a release operation, and by OST
+               migration, primarily for verifying that file data has not been
+               changed during a data copy, when done in non-blocking mode.
+               </para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <literal>df [-i] [-h] [--pool|-p 
+                <replaceable>fsname</replaceable>[.
+                <replaceable>pool</replaceable>] [
+                <replaceable>path</replaceable>] [--lazy]</literal>
+              </entry>
+              <entry>
+                <para>Use 
+                <literal>-i</literal> to report file system disk space usage or
+                inode usage of each MDT or OST or, if a pool is specified with
+                the 
+                <literal>-p</literal> option, a subset of OSTs.</para>
+                <para>By default, the usage of all mounted Lustre file systems
+                is reported. If the 
+                <literal>path</literal> option is included, only the usage for
+                the specified file system is reported. If the 
+                <literal>-h</literal> option is included, the output is printed
+                in human-readable format, using SI base-2 suffixes for 
+                <emphasis role="bold">M</emphasis>ega-, 
+                <emphasis role="bold">G</emphasis>iga-, 
+                <emphasis role="bold">T</emphasis>era-, 
+                <emphasis role="bold">P</emphasis>eta-, or 
+                <emphasis role="bold">E</emphasis>xabytes.</para>
+                <para>If the 
+                <literal>--lazy</literal> option is specified, any OST that is
+                currently disconnected from the client will be skipped. Using
+                the 
+                <literal>--lazy</literal> option prevents the 
+                <literal>df</literal> output from being blocked when an OST is
+                offline. Only the space on the OSTs that can currently be
+                accessed are returned. The 
+                <literal>llite.*.lazystatfs</literal> tunable can be enabled to
+                make this the default behaviour for all 
+                <literal>statfs()</literal> operations.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>find</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Searches the directory tree rooted at the given
+                directory/filename for files that match the given
+                parameters.</para>
+                <para>Using 
+                <literal>!</literal> before an option negates its meaning (files
+                NOT matching the parameter). Using 
+                <literal>+</literal> before a numeric value means files with the
+                parameter OR MORE. Using 
+                <literal>-</literal> before a numeric value means files with the
+                parameter OR LESS.</para>
+              </entry>
+            </row>
+            <row>
+              <entry />
+              <entry>
+                <literal>--atime</literal>
+              </entry>
+              <entry>
+                <para>File was last accessed N*24 hours ago. (There is no
+                guarantee that 
+                <literal>atime</literal> is kept coherent across the
+                cluster.)</para>
+                <para>OSTs by default only hold a transient 
+                <literal>atime</literal> that is updated when clients do read
+                requests. Permanent 
+                <literal>atime</literal> is written to the MDT when the file is
+                closed. However, on-disk atime is only updated if it is more
+                than 60 seconds old (
+                <literal>mdd.*.atime_diff</literal>).
+                </para>
+                <para condition='l2D'>In Lustre 2.14, it is possible to set
+                the OSTs to persistently store atime with each object, in
+                order to get more accurate persistent atime updates for files
+                that are open for a long time via the similarly-named
+                <literal>obdfilter.*.atime_diff</literal> parameter.
+                </para>
+                <para>
+                The client considers the latest <literal>atime</literal> from
+                all OSTs and MDTs. If a 
+                <literal>setattr</literal> is set by user, then it is updated on
+                both the MDT and OST, allowing the 
+                <literal>atime</literal> to go backward.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--ctime</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File status was last changed N*24 hours ago.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--mtime</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File data was last modified N*24 hours ago.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--obd</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File has an object on a specific OST(s).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--size</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File has a size in bytes, or kilo-, Mega-, Giga-, Tera-,
+                Peta- or Exabytes if a suffix is given.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--type</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File has the type - block, character, directory, pipe,
+                file, symlink, socket or door (used in Solaris operating
+                system).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--uid</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File has a specific numeric user ID.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--user</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File owned by a specific user (numeric user ID
+                allowed).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--gid</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File has a specific group ID.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--group</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>File belongs to a specific group (numeric group ID
+                allowed).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>-
+                <literal>-maxdepth</literal></para>
+              </entry>
+              <entry>
+                <para>Limits find to descend at most N levels of the directory
+                tree.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                <literal>--print</literal>/ 
+                <literal>--print0</literal></para>
+              </entry>
+              <entry>
+                <para>Prints the full filename, followed by a new line or NULL
+                character correspondingly.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>osts [path]</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists all OSTs for the file system. If a path located on
+                a mounted Lustre file system is specified, then only OSTs
+                belonging to this file system are displayed.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>getname [path...]</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>List each Lustre file system instance associated with
+                each Lustre mount point. If no path is specified, all Lustre
+                mount points are interrogated. If a list of paths is provided,
+                the instance of each path is provided. If the path is not a
+                Lustre instance 'No such device' is returned.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>getstripe</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists striping information for a given filename or
+                directory. By default, the stripe count, stripe size and offset
+                are returned.</para>
+                <para>If you only want specific striping information, then the
+                options of 
+                <literal>--stripe-count</literal>,
+                <literal>--stripe-size</literal>,
+                <literal>--stripe-index</literal>,
+                <literal>--layout</literal>, or
+                <literal>--pool</literal> plus various combinations of these
+                options can be used to retrieve specific information.</para>
+                <para>If the 
+                <literal>--raw</literal> option is specified, the stripe
+                information is printed without substituting the file system
+                default values for unspecified fields. If the striping EA is
+                not set, 0, 0, and -1 will be printed for the stripe count,
+                size, and offset respectively.</para>
+                <para>The <literal>--mdt-index</literal> prints the index of
+               the MDT for a given directory. See 
+                <xref linkend="lustremaint.rmremotedir" />.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--obd 
+                  <replaceable>ost_name</replaceable></literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists files that have an object on a specific OST.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--quiet</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists details about the file's object ID
+                information.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--verbose</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Prints additional striping information.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--stripe-count</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists the stripe count (how many OSTs to use).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--index</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists the index for each OST in the file system.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--offset</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists the OST index on which file striping starts.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--pool</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists the pools to which a file belongs.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--size</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists the stripe size (how much data to write to one OST
+                before moving to the next OST).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--directory</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists entries about a specified directory instead of its
+                contents (in the same manner as 
+                <literal>ls -d</literal>).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--recursive</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Recurses into all sub-directories.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>setstripe</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Create new files with a specific file layout (stripe
+                pattern) configuration.
+                <footnote>
+                  <para>The file cannot exist prior to using 
+                  <literal>setstripe</literal>. A directory must exist prior to
+                  using 
+                  <literal>setstripe</literal>.</para>
+                </footnote></para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--stripe-count stripe_cnt</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Number of OSTs over which to stripe a file. A 
+                <literal>stripe_cnt</literal> of 0 uses the file system-wide
+                default stripe count (default is 1). A 
+                <literal>stripe_cnt</literal> of -1 stripes over all available
+                OSTs.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--overstripe-count stripe_cnt</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>The same as --stripe-count, but allows overstriping,
+                which will place more than one stripe per OST if
+                <literal>stripe_cnt</literal> is greater than the number of
+                OSTs. Overstriping is useful for matching the number of stripes
+                to the number of processes, or with very fast OSTs, where one
+                stripe per OST is not enough to get full performance.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                <literal>--size stripe_size</literal>
+                <footnote>
+                  <para>The default stripe-size is 0. The default start-ost is
+                  -1. Do NOT confuse them! If you set start-ost to 0, all new
+                  file creations occur on OST 0 (seldom a good idea).</para>
+                </footnote>&#160;</para>
+              </entry>
+              <entry>
+                <para>Number of bytes to store on an OST before moving to the
+                next OST. A stripe_size of 0 uses the file system's default
+                stripe size, (default is 1 MB). Can be specified with 
+                <emphasis role="bold">k</emphasis>(KB), 
+                <emphasis role="bold">m</emphasis>(MB), or 
+                <emphasis role="bold">g</emphasis>(GB), respectively.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--stripe-index start_ost_index</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>The OST index (base 10, starting at 0) on which to start
+                striping for this file. A start_ost_index value of -1 allows
+                the MDS to choose the starting index. This is the default
+                value, and it means that the MDS selects the starting OST as it
+                wants. We strongly recommend selecting this default, as it
+                allows space and load balancing to be done by the MDS as
+                needed. The 
+                <literal>start_ost_index</literal> value has no relevance on
+                whether the MDS will use round-robin or QoS weighted allocation
+                for the remaining stripes in the file.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--ost-index ost_indices</literal>
+                </para>
+              </entry>
+              <entry>
+                               <para>This option is used to specify the exact stripe
+                layout on the the file system. <literal>ost_indices</literal>
+                is a list of OSTs referenced by their indices and index ranges
+                separated by commas, e.g. <literal>1,2-4,7</literal>.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>
+                  <literal>--pool 
+                  <replaceable>pool</replaceable></literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Name of the pre-defined pool of OSTs (see 
+                <xref linkend="lctl" />) that will be used
+                for striping. The 
+                <literal>stripe_cnt</literal>, 
+                <literal>stripe_size</literal> and 
+                <literal>start_ost</literal> values are used as well. The
+                start-ost value must be part of the pool or an error is
+                returned.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>setstripe -d</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Deletes default striping on the specified
+                directory.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>pool_list {filesystem}[.poolname]|{pathname}</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Lists pools in the file system or pathname, or OSTs in
+                the file system's pool.</para>
+              </entry>
             </row>
             <row>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306005" xreflabel=""/>nosvc</para></entry>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306007" xreflabel=""/>Starts only MGS/MGC servers</para></entry>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>quota [-q] [-v] [-o 
+                  <replaceable>obd_uuid</replaceable>|-i 
+                  <replaceable>mdt_idx</replaceable>|-I 
+                  <replaceable>ost_idx</replaceable>] [-u|-g|-p
+                  <replaceable>uname|uid|gname|gid|projid]</replaceable>
+                  <replaceable>/mount_point</replaceable></literal>
+                </para>
+                <para>&#160;</para>
+              </entry>
+              <entry>
+                <para>Displays disk usage and limits, either for the full file
+                system or for objects on a specific OBD. A user or group name
+                or an usr, group and project ID can be specified. If all user,
+               group project ID are omitted, quotas for the current UID/GID
+               are shown. The <literal>-q</literal> option disables printing
+               of additional descriptions (including column titles). It fills
+               in blank spaces in the
+                <literal>grace</literal> column with zeros (when there is no
+                grace period set), to ensure that the number of columns is
+                consistent. The 
+                <literal>-v</literal> option provides more verbose (per-OBD
+                statistics) output.</para>
+              </entry>
             </row>
             <row>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306009" xreflabel=""/>exclude</para></entry>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306011" xreflabel=""/>Starts with a dead OST</para></entry>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>quota -t 
+                  <replaceable>-u|-g|-p</replaceable>
+                  <replaceable>/mount_point</replaceable></literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Displays block and inode grace times for user (
+                <literal>-u</literal>) or group (
+                <literal>-g</literal>) or project (
+               <literal>-p</literal>) quotas.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>setquota {-u|-g|-p
+                  <replaceable>uname|uid|gname|gid|projid}</replaceable>
+                  [--block-softlimit
+                  <replaceable>block_softlimit</replaceable>]
+                  [--block-hardlimit 
+                  <replaceable>block_hardlimit</replaceable>]
+                  [--inode-softlimit 
+                  <replaceable>inode_softlimit</replaceable>]
+                  [--inode-hardlimit 
+                  <replaceable>inode_hardlimit</replaceable>] 
+                  <replaceable>/mount_point</replaceable></literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Sets file system quotas for users, groups or one project.
+               Limits can be specified with
+                <literal>--{block|inode}-{softlimit|hardlimit}</literal> or
+                their short equivalents 
+                <literal>-b</literal>, 
+                <literal>-B</literal>, 
+                <literal>-i</literal>, 
+                <literal>-I</literal>. Users can set 1, 2, 3 or 4 limits.
+                <footnote>
+                  <para>The old 
+                  <literal>setquota</literal> interface is supported, but it may
+                  be removed in a future Lustre software release.</para>
+                </footnote>Also, limits can be specified with special suffixes,
+                -b, -k, -m, -g, -t, and -p to indicate units of 1, 2^10, 2^20,
+                2^30, 2^40 and 2^50, respectively. By default, the block limits
+                unit is 1 kilobyte (1,024), and block limits are always
+                kilobyte-grained (even if specified in bytes). See 
+                <xref linkend="setquota_grace_time_example" />.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>setquota -t -u|-g|-p [--block-grace
+                  <replaceable>block_grace</replaceable>] [--inode-grace 
+                  <replaceable>inode_grace</replaceable>] 
+                  <replaceable>/mount_point</replaceable></literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Sets the file system quota grace times for users or
+                groups. Grace time is specified in '
+                <literal>XXwXXdXXhXXmXXs</literal>' format or as an integer
+                seconds value. See 
+                <xref linkend="setquota_grace_time_example" />.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>help</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Provides brief help on various 
+                <literal>lfs</literal> arguments.</para>
+              </entry>
+            </row>
+            <row>
+              <entry nameend="c2" namest="c1">
+                <para>
+                  <literal>exit/quit</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Quits the interactive 
+                <literal>lfs</literal> session.</para>
+              </entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
-       <informaltable frame="all">
+    </section>
+    <section remap="h5" xml:id="setquota_grace_time_example">
+      <title>Examples</title>
+      <para>Creates a file striped on two OSTs with 128 KB on each
+      stripe.</para>
+      <screen>
+$ lfs setstripe -s 128k -c 2 /mnt/lustre/file1
+</screen>
+      <para>Deletes a default stripe pattern on a given directory. New files
+      use the default striping pattern.</para>
+      <screen>
+$ lfs setstripe -d /mnt/lustre/dir
+</screen>
+      <para>Lists the detailed object allocation of a given file.</para>
+      <screen>
+$ lfs getstripe -v /mnt/lustre/file1
+</screen>
+      <para>List all the mounted Lustre file systems and corresponding Lustre
+      instances.</para>
+      <screen>
+$ lfs getname
+</screen>
+      <para>Efficiently lists all files in a given directory and its
+      subdirectories.</para>
+      <screen>
+$ lfs find /mnt/lustre
+</screen>
+      <para>Recursively lists all regular files in a given directory more than
+      30 days old.</para>
+      <screen>
+$ lfs find /mnt/lustre -mtime +30 -type f -print
+</screen>
+      <para>Recursively lists all files in a given directory that have objects
+      on OST2-UUID. The lfs check servers command checks the status of all
+      servers (MDT and OSTs).</para>
+      <screen>
+$ lfs find --obd OST2-UUID /mnt/lustre/
+</screen>
+      <para>Lists all OSTs in the file system.</para>
+      <screen>
+$ lfs osts
+</screen>
+      <para>Lists space usage per OST and MDT in human-readable format.</para>
+      <screen>
+$ lfs df -h
+</screen>
+      <para>Lists inode usage per OST and MDT.</para>
+      <screen>
+$ lfs df -i
+</screen>
+      <para>List space or inode usage for a specific OST pool.</para>
+      <screen>
+$ lfs df --pool 
+<replaceable>filesystem</replaceable>[.
+<replaceable>pool</replaceable>] | 
+<replaceable>pathname</replaceable>
+</screen>
+      <para>List quotas of user 'bob'.</para>
+      <screen>
+$ lfs quota -u bob /mnt/lustre
+</screen>
+      <para>List quotas of project ID '1'.</para>
+      <screen>
+$ lfs quota -p 1 /mnt/lustre
+</screen>
+      <para>Show grace times for user quotas on 
+      <literal>/mnt/lustre</literal>.</para>
+      <screen>
+$ lfs quota -t -u /mnt/lustre
+</screen>
+      <para>Sets quotas of user 'bob', with a 1 GB block quota hardlimit and a
+      2 GB block quota softlimit.</para>
+      <screen>
+$ lfs setquota -u bob --block-softlimit 2000000 --block-hardlimit 1000000
+/mnt/lustre
+</screen>
+      <para>Sets grace times for user quotas: 1000 seconds for block quotas, 1
+      week and 4 days for inode quotas.</para>
+      <screen>
+$ lfs setquota -t -u --block-grace 1000 --inode-grace 1w4d /mnt/lustre
+</screen>
+      <para>Checks the status of all servers (MDT, OST)</para>
+      <screen>
+$ lfs check servers
+</screen>
+      <para>Creates a file striped on two OSTs from the pool 
+      <literal>my_pool</literal></para>
+      <screen>
+$ lfs setstripe --pool my_pool -c 2 /mnt/lustre/file
+</screen>
+      <para>Lists the pools defined for the mounted Lustre file system 
+      <literal>/mnt/lustre</literal></para>
+      <screen>
+$ lfs pool_list /mnt/lustre/
+</screen>
+      <para>Lists the OSTs which are members of the pool 
+      <literal>my_pool</literal> in file system 
+      <literal>my_fs</literal></para>
+      <screen>
+$ lfs pool_list my_fs.my_pool
+</screen>
+      <para>Finds all directories/files associated with 
+      <literal>poolA</literal>.</para>
+      <screen>
+$ lfs find /mnt/lustre --pool poolA
+</screen>
+      <para>Finds all directories/files not associated with a pool.</para>
+      <screen>
+$ lfs find /mnt//lustre --pool ""
+</screen>
+      <para>Finds all directories/files associated with pool.</para>
+      <screen>
+$ lfs find /mnt/lustre ! --pool ""
+</screen>
+      <para>Associates a directory with the pool 
+      <literal>my_pool</literal>, so all new files and directories are created
+      in the pool.</para>
+      <screen>
+$ lfs setstripe --pool my_pool /mnt/lustre/dir
+</screen>
+    </section>
+    <section remap="h5">
+      <title>See Also</title>
+      <para>
+        <xref linkend="lctl" />
+      </para>
+    </section>
+  </section>
+  <section xml:id="lfs_migrate">
+    <title>
+      <indexterm>
+        <primary>lfs_migrate</primary>
+      </indexterm>
+      <literal>lfs_migrate</literal>
+    </title>
+    <para>The 
+    <literal>lfs_migrate</literal> utility is a simple to migrate file
+    <emphasis>data</emphasis> between OSTs.</para>
+    <section remap="h5">
+      <title>Synopsis</title>
+      <screen>
+lfs_migrate [<replaceable>lfs_setstripe_options</replaceable>]
+       [-h] [-n] [-q] [-R] [-s] [-y] [-0] [file|directory ...]
+</screen>
+    </section>
+    <section remap="h5">
+      <title>Description</title>
+      <para>The 
+      <literal>lfs_migrate</literal> utility is a tool to assist migration
+      of file data between Lustre OSTs. The utility copies each specified
+      file to a temporary file using supplied <literal>lfs setstripe</literal>
+      options, if any, optionally verifies the file contents have not changed,
+      and then swaps the layout (OST objects) from the temporary file and the
+      original file (for Lustre 2.5 and later), or renames the temporary file
+      to the original filename. This allows the user/administrator to balance
+      space usage between OSTs, or move files off OSTs that are starting to show
+      hardware problems (though are still functional) or will be removed.</para>
+      <warning>
+        <para>For versions of Lustre before 2.5, 
+        <literal>lfs_migrate</literal> was not integrated with the MDS at all.
+        That made it UNSAFE for use on files that were being modified by other
+       applications, since the file was migrated through a copy and rename of
+       the file.  With Lustre 2.5 and later, the new file layout is swapped
+       with the existing file layout, which ensures that the user-visible
+       inode number is kept, and open file handles and locks on the file are
+       kept.</para>
+      </warning>
+      <para>Files to be migrated can be specified as command-line arguments. If
+      a directory is specified on the command-line then all files within the
+      directory are migrated. If no files are specified on the command-line,
+      then a list of files is read from the standard input, making 
+      <literal>lfs_migrate</literal> suitable for use with 
+      <literal>lfs find</literal> to locate files on specific OSTs and/or
+      matching other file attributes, and other tools that generate a list
+      of files on standard output.</para>
+      <para>Unless otherwise specified through command-line options, the
+      file allocation policies on the MDS dictate where the new files
+      are placed, taking into account whether specific OSTs have been
+      disabled on the MDS via <literal>lctl</literal> (preventing new
+      files from being allocated there), whether some OSTs are overly full
+      (reducing the number of files placed on those OSTs), or if there is
+      a specific default file striping for the parent directory (potentially
+      changing the stripe count, stripe size, OST pool, or OST index of a
+      new file).</para>
+      <note>
+        <para>The 
+        <literal>lfs_migrate</literal> utility can also be used in some cases to
+        reduce file 
+        <indexterm>
+          <primary>fragmentation</primary>
+        </indexterm>fragmentation. File fragmentation will typically reduce
+        Lustre file system performance. File fragmentation may be observed on
+        an aged file system and will commonly occur if the file was written by
+        many threads. Provided there is sufficient free space (or if it was
+        written when the file system was nearly full) that is less fragmented
+        than the file being copied, re-writing a file with 
+        <literal>lfs_migrate</literal> will result in a migrated file with
+        reduced fragmentation. The tool 
+        <literal>filefrag</literal> can be used to report file fragmentation.
+        See 
+        <xref linkend="filefrag" /></para>
+      </note>
+      <note>
+        <para>As long as a file has extent lengths of tens of megabytes (
+        <replaceable>read_bandwidth * seek_time</replaceable>) or more, the
+        read performance for the file will not be significantly impacted by
+        fragmentation, since the read pipeline can be filled by large reads
+        from disk even with an occasional disk seek.</para>
+      </note>
+    </section>
+    <section remap="h5">
+      <title>Options</title>
+      <para>Options supporting 
+      <literal>lfs_migrate</literal> are described below.</para>
+      <informaltable frame="all">
         <tgroup cols="2">
-          <colspec colname="c1" colwidth="50*"/>
-          <colspec colname="c2" colwidth="50*"/>
+          <colspec colname="c1" colwidth="50*" />
+          <colspec colname="c2" colwidth="50*" />
           <thead>
             <row>
-              <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1306014" xreflabel=""/>Client options</emphasis></para></entry>
-              <entry><para><emphasis role="bold"><anchor xml:id="dbdoclet.50438206_pgfId-1306016" xreflabel=""/>Description</emphasis></para></entry>
+              <entry>
+                <para>
+                  <emphasis role="bold">Option</emphasis>
+                </para>
+              </entry>
+              <entry>
+                <para>
+                  <emphasis role="bold">Description</emphasis>
+                </para>
+              </entry>
             </row>
           </thead>
           <tbody>
             <row>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306018" xreflabel=""/>flock</para></entry>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306020" xreflabel=""/>Enables/disables flock support</para></entry>
+              <entry>
+                <para>
+                  <literal>-c 
+                  <replaceable>stripecount</replaceable></literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Restripe file using the specified stripe count. This
+                option may not be specified at the same time as the 
+                <literal>-R</literal> option.</para>
+              </entry>
             </row>
             <row>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306022" xreflabel=""/>user_xattr/nouser_xattr</para></entry>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306024" xreflabel=""/>Enables/disables user-extended attributes</para></entry>
+              <entry>
+                <para>
+                  <literal>-h</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Display help information.</para>
+              </entry>
             </row>
             <row>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306026" xreflabel=""/>retry=</para></entry>
-              <entry><para> <anchor xml:id="dbdoclet.50438206_pgfId-1306028" xreflabel=""/>Number of times a client will retry to mount the file system</para></entry>
+              <entry>
+                <literal>-l</literal>
+              </entry>
+              <entry>
+                <para>Migrate files with hard links (skips, by default). Files
+                with multiple hard links are split into multiple separate files
+                by 
+                <literal>lfs_migrate</literal>, so they are skipped, by
+                default, to avoid breaking the hard links.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <literal>-n</literal>
+              </entry>
+              <entry>
+                <para>Only print the names of files to be migrated.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>
+                  <literal>-q</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Run quietly (does not print filenames or status).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <literal>-R</literal>
+              </entry>
+              <entry>Restripe file using default directory striping instead of
+              keeping striping. This option may not be specified at the same
+              time as the 
+              <literal>-c</literal> option.</entry>
+            </row>
+            <row>
+              <entry>
+                <literal>-s</literal>
+              </entry>
+              <entry>Skip file data comparison after migrate. Default is to
+              compare migrated file against original to verify
+              correctness.</entry>
+            </row>
+            <row>
+              <entry>
+                <para>
+                  <literal>-y</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Answer '
+                <literal>y</literal>' to usage warning without prompting (for
+                scripts, use with caution).</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <literal>-0</literal>
+              </entry>
+              <entry>Expect NUL-terminated filenames on standard input, as
+              generated by <literal>lfs find -print0</literal> or
+             <literal>find -print0</literal>.  This allows filenames with
+             embedded newlines to be handled correctly.
+              </entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
     </section>
-    <section remap="h2">
-      <title>32.6 <anchor xml:id="dbdoclet.50438206_56217" xreflabel=""/>Handling <anchor xml:id="dbdoclet.50438206_marker-1306030" xreflabel=""/>Timeouts</title>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1306032" xreflabel=""/>Timeouts are the most common cause of hung applications. After a timeout involving an MDS or failover OST, applications attempting to access the disconnected resource wait until the connection gets established.</para>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1306033" xreflabel=""/>When a client performs any remote operation, it gives the server a reasonable amount of time to respond. If a server does not reply either due to a down network, hung server, or any other reason, a timeout occurs which requires a recovery.</para>
-      <para><anchor xml:id="dbdoclet.50438206_pgfId-1306034" xreflabel=""/>If a timeout occurs, a message (similar to this one), appears on the console of the client, and in /var/log/messages:</para>
-      <screen><anchor xml:id="dbdoclet.50438206_pgfId-1306035" xreflabel=""/>LustreError: 26597:(client.c:810:ptlrpc_expire_one_request()) @@@ timeout
-<anchor xml:id="dbdoclet.50438206_pgfId-1306036" xreflabel=""/> 
-<anchor xml:id="dbdoclet.50438206_pgfId-1306037" xreflabel=""/>req@a2d45200 x5886/t0 o38-&gt;mds_svc_UUID@NID_mds_UUID:12 lens 168/64 ref 1 fl
-<anchor xml:id="dbdoclet.50438206_pgfId-1306038" xreflabel=""/> 
-<anchor xml:id="dbdoclet.50438206_pgfId-1306039" xreflabel=""/>RPC:/0/0 rc 0
-<anchor xml:id="dbdoclet.50438206_pgfId-1293091" xreflabel=""/> 
-</screen>
-      <!--
-Begin SiteCatalyst code version: G.5.
--->
-      <!--
-End SiteCatalyst code version: G.5.
--->
-        <informaltable frame="none">
-        <tgroup cols="3">
-          <colspec colname="c1" colwidth="33*"/>
-          <colspec colname="c2" colwidth="33*"/>
-          <colspec colname="c3" colwidth="33*"/>
-          
-          
-          
+    <section remap="h5">
+      <title>Examples</title>
+      <para>Rebalance all files in 
+      <literal>/mnt/lustre/dir</literal>:</para>
+      <screen>
+$ lfs_migrate /mnt/lustre/dir
+</screen>
+      <para>Migrate files in /test filesystem on OST0004 larger than 4 GB in
+      size and older than a day old:</para>
+      <screen>
+$ lfs find /test -obd test-OST0004 -size +4G -mtime +1 | lfs_migrate -y
+</screen>
+    </section>
+    <section remap="h5">
+      <title>See Also</title>
+      <para>
+        <xref linkend="userutilities.lfs" />
+      </para>
+    </section>
+  </section>
+  <section xml:id="filefrag">
+    <title>
+      <indexterm>
+        <primary>filefrag</primary>
+      </indexterm>
+      <literal>filefrag</literal>
+    </title>
+    <para>The 
+    <literal>e2fsprogs</literal> package contains the 
+    <literal>filefrag</literal> tool which reports the extent of file
+    fragmentation.</para>
+    <section remap="h5">
+      <title>Synopsis</title>
+      <screen>
+filefrag [ -belsv ] [ files...  ]
+</screen>
+    </section>
+    <section remap="h5">
+      <title>Description</title>
+      <para>The 
+      <literal>filefrag</literal> utility reports the extent of fragmentation in
+      a given file. The 
+      <literal>filefrag</literal> utility obtains the extent information from
+      Lustre files using the 
+      <literal>FIEMAP ioctl</literal>, which is efficient and fast, even for
+      very large files.</para>
+      <para>In default mode 
+      <footnote>
+        <para>The default mode is faster than the verbose/extent mode since it
+        only counts the number of extents.</para>
+      </footnote>, 
+      <literal>filefrag</literal> prints the number of physically discontiguous
+      extents in the file. In extent or verbose mode, each extent is printed
+      with details such as the blocks allocated on each OST. For a Lustre file
+      system, the extents are printed in device offset order (i.e. all of the
+      extents for one OST first, then the next OST, etc.), not file logical
+      offset order. If the file logical offset order was used, the Lustre
+      striping would make the output very verbose and difficult to see if there
+      was file fragmentation or not.</para>
+      <note>
+        <para>Note that as long as a file has extent lengths of tens of
+        megabytes or more (i.e. 
+        <replaceable>read_bandwidth * seek_time &gt;
+        extent_length</replaceable>), the read performance for the file will
+        not be significantly impacted by fragmentation, since file readahead
+        can fully utilize the disk disk bandwidth even with occasional
+        seeks.</para>
+      </note>
+      <para>In default mode 
+      <footnote>
+        <para>The default mode is faster than the verbose/extent mode.</para>
+      </footnote>, 
+      <literal>filefrag</literal> returns the number of physically discontiguous
+      extents in the file. In extent or verbose mode, each extent is printed
+      with details. For a Lustre file system, the extents are printed in device
+      offset order, not logical offset order.</para>
+    </section>
+    <section remap="h5">
+      <title>Options</title>
+      <para>The options and descriptions for the 
+      <literal>filefrag</literal> utility are listed below.</para>
+      <informaltable frame="all">
+        <tgroup cols="2">
+          <colspec colname="c1" colwidth="50*" />
+          <colspec colname="c2" colwidth="50*" />
+          <thead>
+            <row>
+              <entry>
+                <para>
+                  <emphasis role="bold">Option</emphasis>
+                </para>
+              </entry>
+              <entry>
+                <para>
+                  <emphasis role="bold">Description</emphasis>
+                </para>
+              </entry>
+            </row>
+          </thead>
           <tbody>
             <row>
-              <entry align="left"><para>Lustre 2.0 Operations Manual</para></entry>
-              <entry align="right"><para>821-2076-10</para></entry>
-              <entry align="right" valign="top"><para><link xl:href="index.html"><inlinemediaobject><imageobject role="html">
-                        <imagedata contentdepth="26" contentwidth="30" fileref="./shared/toc01.gif" scalefit="1"/>
-                      </imageobject>
-<imageobject role="fo">
-                        <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/toc01.gif" scalefit="1" width="100%"/>
-                      </imageobject>
-</inlinemediaobject></link><link xl:href="LustreProc.html"><inlinemediaobject><imageobject role="html">
-                        <imagedata contentdepth="26" contentwidth="30" fileref="./shared/prev01.gif" scalefit="1"/>
-                      </imageobject>
-<imageobject role="fo">
-                        <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/prev01.gif" scalefit="1" width="100%"/>
-                      </imageobject>
-</inlinemediaobject></link><link xl:href="LustreProgrammingInterfaces.html"><inlinemediaobject><imageobject role="html">
-                        <imagedata contentdepth="26" contentwidth="30" fileref="./shared/next01.gif" scalefit="1"/>
-                      </imageobject>
-<imageobject role="fo">
-                        <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/next01.gif" scalefit="1" width="100%"/>
-                      </imageobject>
-</inlinemediaobject></link><link xl:href="ix.html"><inlinemediaobject><imageobject role="html">
-                        <imagedata contentdepth="26" contentwidth="30" fileref="./shared/index01.gif" scalefit="1"/>
-                      </imageobject>
-<imageobject role="fo">
-                        <imagedata contentdepth="100%" contentwidth="" depth="" fileref="./shared/index01.gif" scalefit="1" width="100%"/>
-                      </imageobject>
-</inlinemediaobject></link></para></entry>
+              <entry>
+                <para>
+                  <literal>-b</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Uses the 1024-byte blocksize for the output. By default,
+                this blocksize is used by the Lustre file system, since OSTs
+                may use different block sizes.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>
+                  <literal>-e</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Uses the extent mode when printing the output. This is
+                the default for Lustre files in verbose mode.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>
+                  <literal>-l</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Displays extents in LUN offset order. This is the only
+                available mode for Lustre.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>
+                  <literal>-s</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Synchronizes any unwritten file data to disk before
+                requesting the mapping.</para>
+              </entry>
+            </row>
+            <row>
+              <entry>
+                <para>
+                  <literal>-v</literal>
+                </para>
+              </entry>
+              <entry>
+                <para>Prints the file's layout in verbose mode when checking
+                file fragmentation, including the logical to physical mapping
+                for each extent in the file and the OST index.</para>
+              </entry>
             </row>
           </tbody>
         </tgroup>
       </informaltable>
-      <para><link xl:href=""/></para>
-      <para><link xl:href="copyright.html">Copyright</link> © 2011, Oracle and/or its affiliates. All rights reserved.</para>
     </section>
+    <section remap="h5">
+      <title>Examples</title>
+      <para>Lists default output.</para>
+      <screen>
+$ filefrag /mnt/lustre/foo
+/mnt/lustre/foo: 13 extents found
+</screen>
+      <para>Lists verbose output in extent format.</para>
+      <screen>
+$ filefrag -v /mnt/lustre/foo
+Filesystem type is: bd00bd0
+File size of /mnt/lustre/foo is 1468297786 (1433888 blocks of 1024 bytes)
+ ext:     device_logical:        physical_offset: length:  dev: flags:
+   0:        0..  122879: 2804679680..2804802559: 122880: 0002: network
+   1:   122880..  245759: 2804817920..2804940799: 122880: 0002: network
+   2:   245760..  278527: 2804948992..2804981759:  32768: 0002: network
+   3:   278528..  360447: 2804982784..2805064703:  81920: 0002: network
+   4:   360448..  483327: 2805080064..2805202943: 122880: 0002: network
+   5:   483328..  606207: 2805211136..2805334015: 122880: 0002: network
+   6:   606208..  729087: 2805342208..2805465087: 122880: 0002: network
+   7:   729088..  851967: 2805473280..2805596159: 122880: 0002: network
+   8:   851968..  974847: 2805604352..2805727231: 122880: 0002: network
+   9:   974848.. 1097727: 2805735424..2805858303: 122880: 0002: network
+  10:  1097728.. 1220607: 2805866496..2805989375: 122880: 0002: network
+  11:  1220608.. 1343487: 2805997568..2806120447: 122880: 0002: network
+  12:  1343488.. 1433599: 2806128640..2806218751:  90112: 0002: network
+/mnt/lustre/foo: 13 extents found
+</screen>
+    </section>
+  </section>
+  <section xml:id="mount">
+    <title>
+      <indexterm>
+        <primary>mount</primary>
+      </indexterm>
+      <literal>mount</literal>
+    </title>
+    <para>The standard 
+    <literal>mount(8)</literal> Linux command is used to mount a Lustre file
+    system. When mounting a Lustre file system, mount(8) executes the 
+    <literal>/sbin/mount.lustre</literal> command to complete the mount. The
+    mount command supports these options specific to a Lustre file
+    system:</para>
+    <informaltable frame="all">
+      <tgroup cols="2">
+        <colspec colname="c1" colwidth="50*" />
+        <colspec colname="c2" colwidth="50*" />
+        <thead>
+          <row>
+            <entry>
+              <para>
+                <emphasis role="bold">Server options</emphasis>
+              </para>
+            </entry>
+            <entry>
+              <para>
+                <emphasis role="bold">Description</emphasis>
+              </para>
+            </entry>
+          </row>
+        </thead>
+        <tbody>
+          <row>
+            <entry>
+              <para>
+                <literal>abort_recov</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Aborts recovery when starting a target</para>
+            </entry>
+          </row>
+          <row>
+            <entry>
+              <para>
+                <literal>nosvc</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Starts only MGS/MGC servers</para>
+            </entry>
+          </row>
+          <row>
+            <entry>
+              <para>
+                <literal>nomgs</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Start a MDT with a co-located MGS without starting the
+              MGS</para>
+            </entry>
+          </row>
+          <row>
+            <entry>
+              <para>
+                <literal>exclude</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Starts with a dead OST</para>
+            </entry>
+          </row>
+          <row>
+            <entry>
+              <para>
+                <literal>md_stripe_cache_size</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Sets the stripe cache size for server side disk with a
+              striped raid configuration</para>
+            </entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+    <informaltable frame="all">
+      <tgroup cols="2">
+        <colspec colname="c1" colwidth="50*" />
+        <colspec colname="c2" colwidth="50*" />
+        <thead>
+          <row>
+            <entry>
+              <para>
+                <emphasis role="bold">Client options</emphasis>
+              </para>
+            </entry>
+            <entry>
+              <para>
+                <emphasis role="bold">Description</emphasis>
+              </para>
+            </entry>
+          </row>
+        </thead>
+        <tbody>
+          <row>
+            <entry>
+              <para>
+                <literal>flock/noflock/localflock</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Enables/disables global flock or local flock support</para>
+            </entry>
+          </row>
+          <row>
+            <entry>
+              <para>
+                <literal>user_xattr/nouser_xattr</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Enables/disables user-extended attributes</para>
+            </entry>
+          </row>
+          <row>
+            <entry>
+              <para>
+                <literal>user_fid2path/nouser_fid2path</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Enables/disables FID to path translation by
+              regular users</para>
+            </entry>
+          </row>
+          <row>
+            <entry>
+              <para>
+                <literal>retry=</literal>
+              </para>
+            </entry>
+            <entry>
+              <para>Number of times a client will retry to mount the file
+              system</para>
+            </entry>
+          </row>
+        </tbody>
+      </tgroup>
+    </informaltable>
+  </section>
+  <section xml:id="handling_timeouts">
+    <title>Handling Timeouts</title>
+    <para>Timeouts are the most common cause of hung applications. After a
+    timeout involving an MDS or failover OST, applications attempting to access
+    the disconnected resource wait until the connection gets
+    established.</para>
+    <para>When a client performs any remote operation, it gives the server a
+    reasonable amount of time to respond. If a server does not reply either due
+    to a down network, hung server, or any other reason, a timeout occurs which
+    requires a recovery.</para>
+    <para>If a timeout occurs, a message (similar to this one), appears on the
+    console of the client, and in 
+    <literal>/var/log/messages</literal>:</para>
+    <screen>
+LustreError: 26597:(client.c:810:ptlrpc_expire_one_request()) @@@ timeout
+
+req@a2d45200 x5886/t0 o38-&gt;mds_svc_UUID@NID_mds_UUID:12 lens 168/64 ref 1 fl
+
+RPC:/0/0 rc 0
+</screen>
   </section>
-</article>
+</chapter>
+<!--
+  vim:expandtab:shiftwidth=2:tabstop=8:
+  -->