Whamcloud - gitweb
LU-10030 utils: add lfs tool to change/list project of file
[fs/lustre-release.git] / lustre / doc / lfs.1
index fa74417..043a8e0 100644 (file)
@@ -1,6 +1,6 @@
-.TH lfs 1 "2009 Jan 29" Lustre "user utilities"
+.TH lfs 1 "2017 Jan 12" Lustre "user utilities"
 .SH NAME
-lfs \- Lustre utility to create a file with specific striping pattern, find the striping pattern of exiting files
+lfs \- Lustre utility to create a file with specific striping pattern, find the striping pattern of existing files, do certain quota operations, and manage distributed namespace options for directories
 .SH SYNOPSIS
 .br
 .B lfs
@@ -11,70 +11,135 @@ lfs \- Lustre utility to create a file with specific striping pattern, find the
 .br
 .B lfs check <mds|osts|servers>
 .br
-.B lfs df [-i] [-h] [--pool|-p <fsname>[.<pool>] [path]
+.B lfs data_version [-n] \fB<filename>\fR
 .br
-.B lfs find [[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N]
-        \fB[[!] --ctime|-C [-+]N] [--maxdepth|-D N] [--name|-n pattern]
-        \fB[--print|-p] \fB[--print0|-P] [--obd|-O <uuid[s]>]
-        \fB[[!] --size|-S [-+]N[kMGTPE]] [--type |-t {bcdflpsD}]
-        \fB[[!] --gid|-g|--group|-G <gname>|<gid>]
-        \fB[[!] --uid|-u|--user|-U <uname>|<uid>]
-        \fB<dirname|filename>\fR
+.B lfs df [-ihlv] [--pool|-p <fsname>[.<pool>]] [path]
 .br
-.B lfs osts
+.B lfs fid2path [--link <linkno>] <fsname|rootpath> <fid> ...
 .br
-.B lfs getstripe [--obd|-O <uuid>] [--quiet|-q] [--verbose|-v] 
-        \fB[--recursive|-r] <dirname|filename>\fR
+.B lfs find <directory|filename>
+        \fB[[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N] [[!] --ctime|-C [+-]N]
+        \fB[--maxdepth|-D N] [[!] --mdt|-m <uuid|index,...>] [--name|-n pattern]
+        \fB[[!] --ost|-O <uuid|index,...>] [--print|-p] [--print0|-P]
+        \fB[[!] --size|-s [-+]N[kMGTPE]]
+        \fB[[!] --stripe-count|-c [+-]<stripes>]
+        \fB[[!] --stripe-index|-i <index,...>]
+        \fB[[!] --stripe-size|-S [+-]N[kMG]]
+        \fB[[!] --layout|-L raid0,released]
+        \fB[[!] --component-count [+-]comp_cnt]
+        \fB[[!] --component-start [+-]N[kMGTPE]]
+        \fB[[!] --component-end|-E [+-]N[kMGTPE]]
+        \fB[[!] --component-flags <comp_flags>]
+        \fB[--type |-t {bcdflpsD}] [[!] --gid|-g|--group|-G <gname>|<gid>]
+        \fB[[!] --uid|-u|--user|-U|--projid <uname>|<uid>|<projid>] [[!] --pool <pool>]\fR
 .br
-.B lfs setstripe [--size|-s stripe-size] [--count|-c stripe-cnt]
-        \fB[--offset|-o start-ost] [--pool|-p <pool>]
-        \fB<dir|filename>\fR
+.B lfs getname [-h]|[path ...]
 .br
-.B lfs setstripe -d <dir>
+.B lfs getstripe [\fB--obd\fR|\fB-O\fR <\fIuuid\fR>] [\fB--quiet\fR|\fB-q\fR]
+        [\fB--verbose\fR|\fB-v\fR] [\fB--stripe-count\fR|\fB-c\fR]
+        [\fB--stripe-index\fR|\fB-i\fR] [\fB--mdt-index\fR|\fB-M\fR]
+        [\fB--fid\fR|\fB-F\fR] [\fB--stripe-size\fR|\fB-S\fR]
+        [\fB--directory\fR|\fB-d\fR] [\fB--layout\fR|\fB-L\fR]
+        [\fB--generation\fR|\fB-g\fR]
+        [\fB--component-id\fR[=\fIcomp_id\fR]|\fB-I\fR[\fIcomp_id\fR]]
+        [\fB--component-flags\fR[=\fIcomp_flags\fR]] [\fB--component-count\fR]
+        [\fB--component-start\fR[=[+-]\fIN\fR[kMGTPE]]]
+        [\fB--component-end\fR[=[+-]\fIN\fR[kMGTPE]]|\fB-E\fR[[+-]\fIN\fR[kMGTPE]]]
+        [\fB--pool\fR|\fB-p\fR] [\fB--recursive\fR|\fB-r\fR] [\fB--raw\fR|\fB-R\fR]
+        <\fIdirname\fR|\fIfilename\fR> ...
 .br
-.B lfs poollist <filesystem>[.<pool>] | <pathname>
+.B lfs migrate \fB-m <mdt_index>\fR
+.IR directory
 .br
-.B lfs quota [-v] [-o obd_uuid|-I ost_idx|-i mdt_idx] [-u <uname>| -u <uid>|-g <gname>| -g <gid>] <filesystem>
+.B lfs migrate [\fB-c | --stripe-count <stripe_count>\fR]
+               [\fB-i | --stripe-index <start_ost_idx>\fR]
+               [\fB-S | --stripe-size <stripe_size>\fR]
+               [\fB-p | --pool <pool_name>\fR]
+               [\fB-o | --ost-list <ost_indices>\fR]
+               [\fB-b | --block\fR]
+               [\fB-n | --non-block\fR]
+.IR file|directory
 .br
-.B lfs quota -t <-u|-g> <filesystem>
+.B lfs migrate <\fB-E | --component-end comp_end1\fR> [\fBSTRIPE_OPTIONS\fR]
+               <\fB-E | --component-end comp_end2\fR> [\fBSTRIPE_OPTIONS\fR]
+               \fB...\fR
+.IR filename
 .br
-.B lfs quotacheck [-ug] <filesystem>
+.B lfs mkdir [\fB-c | --count <stripe_count>\fR]
+             [\fB-i | --index <mdt_idx>\fR]
+             [\fB-h | --hash-type <hash_name>\fR]
+             [\fB-m | --mode <mode>\fR]
+             [\fB-D | --default\fR]
+.IR directory
+.br
+.B lfs osts
+.RB [ path ]
+.br
+.B lfs mdts
+.RB [ path ]
+.br
+.B lfs path2fid [--parents] <path> ...
+.br
+.B lfs pool_list <filesystem>[.<pool>] | <pathname>
 .br
-.B lfs quotachown [-i] <filesystem>
+.B lfs quota [-q] [-v] [-o obd_uuid|-I ost_idx|-i mdt_idx] [-u <uname>| -u <uid>|-g <gname>| -g <gid>] [-p <projid>] <filesystem>
+.br
+.B lfs quota -t <-u|-g|-p> <filesystem>
+.br
+.B lfs quotacheck [-ug] <filesystem>
 .br
 .B lfs quotaon [-ugf] <filesystem>
 .br
 .B lfs quotaoff [-ug] <filesystem>
 .br
-.B lfs quotainv [-ug] [-f] <filesystem>
-.br
-.B lfs setquota <-u|--user|-g|--group> <uname|uid|gname|gid>
+.B lfs setquota <-u|--user|-g|--group|-p|--projid> <uname|uid|gname|gid|projid>
              \fB[--block-softlimit <block-softlimit>]
              \fB[--block-hardlimit <block-hardlimit>]
              \fB[--inode-softlimit <inode-softlimit>]
              \fB[--inode-hardlimit <inode-hardlimit>]
              \fB<filesystem>\fR
 .br
-.B lfs setquota <-u|--user|-g|--group> <uname|uid|gname|gid>
+.B lfs setquota <-u|--user|-g|--group|-p|--projid> <uname|uid|gname|gid|projid>
              \fB[-b <block-softlimit>] [-B <block-hardlimit>]
              \fB[-i <inode-softlimit>] [-I <inode-hardlimit>]
              \fB<filesystem>\fR
 .br
-.B lfs setquota -t <-u|-g>
-             \fB[--block-grace <block-grace>]
-             \fB[--inode-grace <inode-grace>]
+.B lfs setquota -t <-u|-g|-p>
+             \fB[--block-grace <block-grace>]\fR
+             \fB[--inode-grace <inode-grace>]\fR
              \fB<filesystem>\fR
 .br
-.B lfs setquota -t <-u|-g>
-             \fB[-b <block-grace>] [-i <inode-grace>]
+.B lfs setquota -t <-u|-g|-p>
+             \fB[-b <block-grace>] [-i <inode-grace>]\fR
              \fB<filesystem>\fR
 .br
+.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count]
+        \fB[--stripe-index|-i start_ost_index] [--pool|-p <poolname>]
+        \fB[--ost-list|-o <ost_indices>] <directory|filename>\fR
+.br
+.B lfs setstripe -d <dir>
+.br
+.B lfs setstripe <--component-end|-E end1> [STRIPE_OPTIONS]
+       \fB<--component-end|-E end2> [STRIPE_OPTIONS] ... <filename>\fR
+.br
+.B lfs setstripe --component-add <--component-end|-E end1> [STRIPE_OPTIONS]
+       \fB<--component-end|-E end2> [STRIPE_OPTIONS] ... <filename>\fR
+.br
+.B lfs setstripe --component-del <--component-id|-I id | --component-flags flags> <filename>
+.br
+.B lfs --version
+.br
+.B lfs --list-commands
+.br
 .B lfs help
 .SH DESCRIPTION
 .B lfs
-can be 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. It can be invoked interactively without any arguments or in a non-interactive mode with one of the arguements supported. 
+can be 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. It can be invoked interactively without any
+arguments or in a non-interactive mode with one of the arguments supported.
 .SH OPTIONS
-The various options supported by lctl are listed and explained below:
+The various options supported by lfs are listed and explained below:
 .TP
 .B changelog
 Show the metadata changes on an MDT.  Start and end points are optional.  The --follow option will block on new changes; this option is only valid when run direclty on the MDT node.
@@ -85,98 +150,207 @@ interest to a particular consumer <id>, potentially allowing the MDT to
 free up disk space. An <endrec> of 0 indicates the current last record.
 Changelog consumers must be registered on the MDT node using \fBlctl\fR.
 .TP
-.B check 
+.B check
 Display the status of MDS or OSTs (as specified in the command) or all the servers (MDS and OSTs)
 .TP
 .B df
-Report filesystem disk space usage or inodes usage of each MDT/OST. Can limit
-the scope to a specific OST pool
-.TP
-.B find 
-To search the directory tree rooted at the given dir/file name for the files that match the given parameters: \fB--atime\fR (file was last accessed N*24 hours ago), \fB--ctime\fR (file's status was last changed N*24 hours ago), \fB--mtime\fR (file's data was last modified N*24 hours ago), \fB--obd\fR (file has an object on a specific OST or OSTs), \fB--size\fR (file has size in bytes, or \fBk\fRilo-, \fBM\fRega-, \fBG\fRiga-, \fBT\fRera-, \fBP\fReta-, or \fBE\fRxabytes if a suffix is given), \fB--type\fR (file has the type: \fBb\fRlock, \fBc\fRharacter, \fBd\fRirectory, \fBp\fRipe, \fBf\fRile, sym\fBl\fRink, \fBs\fRocket, or \fBD\fRoor (Solaris)), \fB--uid\fR (file has specific numeric user ID), \fB--user\fR (file owned by specific user, numeric user ID allowed), \fB--gid\fR (file has specific group ID), \fB--group\fR (file belongs to specific group, numeric group ID allowed). The option \fB--maxdepth\fR limits find to decend at most N levels of directory tree. The options \fB--print\fR and \fB--print0\fR print full file name, followed by a newline or NUL character correspondingly.  Using \fB!\fR before an option negates its meaning (\fIfiles NOT matching the parameter\fR).  Using \fB+\fR before a numeric value means \fIfiles with the parameter OR MORE\fR, while \fB-\fR before a numeric value means \fIfiles with the parameter OR LESS\fR.
-.TP
-.B osts 
-List all the OSTs for the filesystem
-.TP
-.B getstripe
-To list the striping info for a given filename or files in a directory, optionally recursively, for all files in a directory tree: \fB--quiet\fR (don't print object IDs), \fB--verbose\fR (print striping parameters), \fB--recursive\fR (recurse into subdirectories).
-.TP
-.B setstripe [--size stripe-size] [--count stripe-cnt] 
-       \fB[--offset start-ost] [--pool <pool>]\fR
-.br
-To create a new file, or set the directory default, with the specified striping parameters.  The
-.I stripe-count
-is the number of OSTs to stripe a file over. A
-.I stripe-count
-of 0 means to use the filesystem-wide default stripe count (default 1), and a
-.I stripe-count
-of -1 means to stripe over all available OSTs.  The
-.I stripe-size
-is the number of bytes to store on each OST before moving to the next OST.  A
-.I stripe-size
-of 0 means to use the filesystem-wide default stripe size (default 1MB).  The
-.I start-ost
-is the OST index (base 10, starting at 0) on which to start striping for this file.  A
-.I start-ost
-of -1 allows the MDS to choose the starting index and it is strongly recommended, as this allows space and load balancing to be done by the MDS as needed.  The
-.I pool
-is the name of a predefined pool of OSTs (see 
-.I lctl
-) that will be used for striping. The 
-.I stripe-count, stripe-size, start-ost
-will be used as well; the 
-.I start-ost
-must be part of the pool or an error will be returned. 
-.TP
-.B setstripe -d
-Delete the default striping on the specified directory.
-.TP
-.B poollist <filesystem>[.<pool>] | <pathname>
-List the pools in \fBfilesystem\fR or \fBpathname\fR, or the OSTs in \fBfilesystem.pool\fR
-.TP
-.B quota [-v] [-o obd_uuid|-i mdt_idx|-I ost_idx] [-u|-g <uname>|<uid>|<gname>|<gid>] <filesystem>
-To display disk usage and limits, either for the full filesystem, 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 current uid/gid are shown. -v provides more verbose (with per-obd statistics) output.
-.TP
-.B quota -t <-u|-g> <filesystem>
-To display block and inode grace times for user (-u) or group (-g) quotas
-.TP
-.B quotachown
-To change files' owner and group on OSTs of the specified filesystem
-.TP
-.B quotacheck [-ugf] <filesystem>
-To scan the specified filesystem for disk usage, and create or update quota files. Options specify quota for users (-u) groups (-g) and force (-f)
-.TP
-.B quotaon [-ugf] <filesystem>
-To turn filesystem quotas on. Options specify quota for users (-u) groups (-g) and force (-f)
-.TP
-.B quotaoff [-ugf] <filesystem>
-To turn filesystem quotas off.  Options specify quota for users (-u) groups (-g) and force (-f)
-.TP
-.B quotainv [-ug] [-f] <filesystem>
-Clear quota files (administrative quota files if used without -f, operational quota files otherwise), all of their quota entries, for (-u) users or (-g) groups; after quotainv one must use quotacheck before using quotas. DO NOT USE THIS COMMAND UNLESS YOU REALLY KNOW WHAT IT DOES. IT IS MAINLY FOR INTERNAL PURPOSES.
-.TP
-.B setquota  <-u|-g> <uname>|<uid>|<gname>|<gid> [--block-softlimit <block-softlimit>] [--block-hardlimit <block-hardlimit>] [--inode-softlimit <inode-softlimit>] [--inode-hardlimit <inode-hardlimit>] <filesystem>
-To set filesystem quotas for users or groups. Limits can be specified with -b, -k, -m, -g, -t, -p suffixes which specify units of 1, 2^10, 2^20, 2^30, 2^40 and 2^50 accordingly. Block limits unit is kilobyte (1024) by default and block limits are always kilobyte-grained (even if specified in bytes), see EXAMPLES
-.TP
-.B setquota -t [-u|-g] [--block-grace <block-grace>] [--inode-grace <inode-grace>] <filesystem>
-To set filesystem quota grace times for users or groups. Grace time is specified in "XXwXXdXXhXXmXXs" format or as an integer seconds value, see EXAMPLES
-.TP
-.B help 
+See
+.BR lfs-df (1)
+for details of
+.B lfs df
+usage.
+.TP
+.B find
+To search the directory tree rooted at the given dir/file name for the files that match the given parameters: \fB--atime\fR (file was last accessed N*24 hours ago), \fB--ctime\fR (file's status was last changed N*24 hours ago), \fB--mtime\fR (file's data was last modified N*24 hours ago), \fB--obd\fR (file has an object on a specific OST or OSTs), \fB--size\fR (file has size in bytes, or \fBk\fRilo-, \fBM\fRega-, \fBG\fRiga-, \fBT\fRera-, \fBP\fReta-, or \fBE\fRxabytes if a suffix is given), \fB--type\fR (file has the type: \fBb\fRlock, \fBc\fRharacter, \fBd\fRirectory, \fBp\fRipe, \fBf\fRile, sym\fBl\fRink, \fBs\fRocket, or \fBD\fRoor (Solaris)), \fB--uid\fR (file has specific numeric user ID), \fB--user\fR (file owned by specific user, numeric user ID allowed), \fB--gid\fR (file has specific group ID), \fB--group\fR (file belongs to specific group, numeric group ID allowed),\fB--projid\fR (file has specific numeric project ID), \fB--layout\fR (file has a raid0 layout or is released). The option \fB--maxdepth\fR limits find to decend at most N levels of directory tree. The options \fB--print\fR and \fB--print0\fR print full file name, followed by a newline or NUL character correspondingly.  Using \fB!\fR before an option negates its meaning (\fIfiles NOT matching the parameter\fR).  Using \fB+\fR before a numeric value means 'more than n', while \fB-\fR before a numeric value means 'less than n'.
+.TP
+.B getname [-h]|[path ...]
+Report all the Lustre mount points and the corresponding Lustre filesystem
+instance. If one or more \fBpath\fR entries are provided, then only the
+Lustre instance for these mount points is returned. If the path given is not on
+a Lustre instance 'No such device' is reported.
+.TP
+.B osts
+.RB [ path ]
+List all the OSTs for all mounted filesystems. If a \fBpath\fR is provided
+that is located on a lustre mounted file system then only the OSTs belonging
+to that filesystem are displayed.
+.TP
+.B getstripe [\fB--obd\fR|\fB-O\fR <\fIuuid\fR>] [\fB--quiet\fR|\fB-q\fR]
+        [\fB--verbose\fR|\fB-v\fR] [\fB--stripe-count\fR|\fB-c\fR]
+        [\fB--stripe-index\fR|\fB-i\fR] [\fB--mdt-index\fR|\fB-M\fR]
+        [\fB--fid\fR|\fB-F\fR] [\fB--stripe-size\fR|\fB-S\fR]
+        [\fB--directory\fR|\fB-d\fR] [\fB--layout\fR|\fB-L\fR]
+        [\fB--generation\fR|\fB-g\fR]
+        [\fB--component-id\fR[=\fIcomp_id\fR]|\fB-I\fR[\fIcomp_id\fR]]
+        [\fB--component-flags\fR[=\fIcomp_flags\fR]] [\fB--component-count\fR]
+        [\fB--component-start\fR[=[+-]\fIN\fR[kMGTPE]]]
+        [\fB--component-end\fR[=[+-]\fIN\fR[kMGTPE]]|\fB-E\fR[[+-]\fIN\fR[kMGTPE]]]
+        [\fB--pool\fR|\fB-p\fR] [\fB--recursive\fR|\fB-r\fR] [\fB--raw\fR|\fB-R\fR]
+        <\fIdirname\fR|\fIfilename\fR> ...
+.br
+List the striping information for a given filename or directory tree.
+By default the stripe count, size, and offset will be returned. If you
+only want specific striping information then the options of
+.BR --count ,
+.BR --size ,
+.BR --index ,
+.BR --offset ,
+.BR --layout ,
+.BR --fid ,
+.BR --generation ,
+.BR --component-id ,
+.BR --component-flags ,
+.BR --component-count ,
+.BR --component-start ,
+.BR --component-end ,
+or
+.B --pool
+can be used to return only the specific fields.
+.br
+If the
+.B --raw
+option is specified, the stripe information is printed without substituting the
+filesystem's 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.
+In the case where you only want details about the files' object id
+information then the
+.B --quiet
+option is used. Additional information available about striping can be
+displayed with
+.BR --verbose .
+The default behavior when a directory is specified is to list the striping
+information for all files within the specified directory (like
+.RB ' "ls -l" ') .
+This can be expanded with
+.B --recursive
+which will recurse into all subdirectories.
+If you wish to get striping information for only the specified directory, then
+.B --directory
+can be used to limit the information, like
+.RB ' "ls -d" ').
+You can limit the returned files to those with objects on a specific OST with
+.BR --obd .
+To show only the FID use
+.BR --fid .
+The layout generation can be printed with the
+.B --generation
+option.
+You can limit the displayed content by specifing argument for
+.B --component-id|-I
+.B --component-flags
+.B --component-start
+.B --component-end|-E
+options. For example, "--component-id=2" or "-I2" will only display the layout
+attributes for the component with id equal to 2.
+.TP
+.B fid2path [--link <linkno>] <fsname|rootpath> <fid> ...
+Print out the pathname(s) for the specified \fIfid\fR(s) from the filesystem
+mounted at \fBrootpath\fR or named \fBfsname\fR.  If a file has multiple
+hard links, then all of the pathnames for that file are printed, unless
+\fB--link\fR limits the printing to only the specified link number (starting
+at 0, in no particular order).  If multiple fids are specified, but only a
+single pathname is needed for each file, use \fB--link 0\fR.
+.TP
+.B path2fid [--parents] <path> ...
+Print out the FIDs for the specified \fBpath(s)\fR.  If multiple pathnames
+are given, then they will be printed one per line with the path as prefix.
+The \fB--parents\fR switch makes it output the parent FID and name(s) of the
+given entries. If an entry has multiple links, these are displayed on a single
+line, tab-separated.
+.TP
+.B pool_list
+.RI { filesystem }[ .poolname "] | {" pathname }
+List the pools in
+.I filesystem
+or
+.IR pathname ,
+or the OSTs in
+.IR filesystem.pool .
+.TP
+.B quota [-q] [-v] [-o obd_uuid|-i mdt_idx|-I ost_idx] [-u|-g|-p <uname>|<uid>|<gname>|<gid>|<projid>] <filesystem>
+To display disk usage and limits, either for the full filesystem, or for objects on a specific obd. A user or group name or an ID can be specified. If user group and project are omitted quotas for current uid/gid/projid are shown. -v provides more verbose (with per-obd statistics) output. -q disables printing of additional descriptions (including column titles).
+.TP
+.B quota -t <-u|-g|-p> <filesystem>
+To display block and inode grace times for user (-u) or group (-g) or project (-p) quotas
+.TP
+.B quotacheck [-ugf] <filesystem> (deprecated as of 2.4.0)
+To scan the specified filesystem for disk usage, and create or update quota files. Options specify quota for users (-u) groups (-g) and force (-f). Not useful anymore with servers >= 2.4.0 since space accounting is always turned on.
+.TP
+.B quotaon [-ugf] <filesystem> (deprecated as of 2.4.0)
+To turn filesystem quotas on. Options specify quota for users (-u) groups (-g) and force (-f). Not used anymore in lustre 2.4.0 where quota enforcement must be enabled via conf_param (e.g. lctl conf_param ${FSNAME}.quota.<ost|mdt>=<u|g|ug>)
+.TP
+.B quotaoff [-ugf] <filesystem> (deprecated as of 2.4.0)
+To turn filesystem quotas off.  Options specify quota for users (-u) groups (-g) and force (-f). Not used anymore in lustre 2.4.0 where quota enforcement can be turned off (for inode or block) by running the following command on the MGS: lctl conf_param ${FSNAME}.quota.<ost|mdt>=""
+.TP
+.B setquota  <-u|-g|-p> <uname>|<uid>|<gname>|<gid>|<projid> [--block-softlimit <block-softlimit>] [--block-hardlimit <block-hardlimit>] [--inode-softlimit <inode-softlimit>] [--inode-hardlimit <inode-hardlimit>] <filesystem>
+To set filesystem quotas for users, groups or project. Limits can be specified with -b, -k, -m, -g, -t, -p suffixes which specify units of 1, 2^10, 2^20, 2^30, 2^40 and 2^50 accordingly. Block limits unit is kilobyte (1024) by default and block limits are always kilobyte-grained (even if specified in bytes), see EXAMPLES
+.TP
+.B setquota -t [-u|-g|-p] [--block-grace <block-grace>] [--inode-grace <inode-grace>] <filesystem>
+To set filesystem quota grace times for users,groups or project. Grace time is specified in "XXwXXdXXhXXmXXs" format or as an integer seconds value, see EXAMPLES
+.TP
+.B swap_layouts <filename1> <filename2>
+Swap the data (layout and OST objects) of two regular files. The
+two files have to be in the same filesystem, owned by the same user,
+reside on the same MDT and writable by the user.
+
+Swapping the layout of two directories is not permitted.
+.TP
+.B data_version [-n] <filename>
+Display current version of file data. If -n is specified, data version is read
+without taking lock. As a consequence, data version could be outdated if there
+is dirty caches on filesystem clients, but this will not force data flushes and
+has less impact on filesystem.
+
+Even without -n, race conditions are possible and data version should be
+checked before and after an operation to be confident the data did not change
+during it.
+.TP
+.B mkdir
+lfs mkdir is documented in the man page: lfs-mkdir(1). NOTE:
+.B lfs setdirstripe
+is an alias of the command
+.B lfs mkdir
+.TP
+.B mv
+lfs mv is deprecated, use lfs
+.B migrate
+instead.
+.TP
+.B migrate
+See lfs-migrate(1).
+.TP
+.B setstripe
+See lfs-setstripe(1).
+.TP
+.B --version
+Output the build version of the lfs utility. Use "lctl lustre_build_version" to get the version of the Lustre kernel modules
+.TP
+.B --list-commands
+Output a list of the commands supported by the lfs utility
+.TP
+.B help
 Provides brief help on the various arguments
 .TP
-.B exit/quit 
+.B exit/quit
 Quit the interactive lfs session
 .SH EXAMPLES
 .TP
-.B $ lfs setstripe -s 128k -c 2 /mnt/lustre/file1
-This creates a file striped on two OSTs with 128kB on each stripe.
-.TP
-.B $ lfs setstripe -d /mnt/lustre/dir
-This deletes a default stripe pattern on dir. New files will use the default striping pattern created therein.
-.TP
 .B $ lfs getstripe -v /mnt/lustre/file1
 Lists the detailed object allocation of a given file
 .TP
+.B $ lfs getstripe -v -I2 /mnt/lustre/file1
+Lists the detailed information of the component 2 in a given file
+.TP
+.B $ lfs getstripe --component-flags=^init -I /mnt/lustre/file1
+Print only the component IDs for all the uninstantiated components
+.TP
+.B $ lfs getstripe -E-64M /mnt/lustre/file1
+Lists the information of the components in a file which has less than 64M extent end
+.TP
+.B $ lfs getstripe -I3 --component-start /mnt/lustre/file1
+Print only the component start for the component with ID of 3
+.TP
 .B $ lfs find /mnt/lustre
 Efficiently lists all files in a given directory and its subdirectories
 .TP
@@ -185,21 +359,18 @@ Recursively list all regular files in given directory more than 30 days old
 .TP
 .B $ lfs find --obd OST2-UUID /mnt/lustre/
 Recursively list all files in a given directory that have objects on OST2-UUID.
-.tP
-.B $ lfs check servers 
+.TP
+.B $ lfs find --component-count +3 /mnt/lustre
+Recursively list all files that have more than 3 components.
+.TP
+.B $ lfs check servers
 Check the status of all servers (MDT, OST)
 .TP
 .B $ lfs osts
 List all the OSTs
 .TP
-.B $ lfs df -h 
-Lists space usage per OST and MDT in human readable format.
-.TP
-.B $ lfs df -i 
-Lists inode usage per OST and MDT
-.TP
-.B lfs df --pool <filesystem>[.<pool>] | <pathname>
-List space or inode usage for a specific OST pool
+.B $ lfs mdts
+List all the MDTs
 .TP
 .B $ lfs quota -u bob /mnt/lustre
 List quotas of user `bob'
@@ -224,11 +395,23 @@ Set quotas of user `bob': 1GB block quota hardlimit and 2 GB block quota softlim
 .TP
 .B $ lfs setquota -t -u --block-grace 1000 --inode-grace 1w4d /mnt/lustre
 Set grace times for user quotas: 1000 seconds for block quotas, 1 week and 4 days for inode quotas
+.SH NOTES
+The usage of \fBlfs hsm_*\fR, \fBlfs setstripe\fR, \fBlfs migrate\fR, \fBlfs setdirstripe\fR,
+\fBlfs getdirstripe\fR, \fBlfs mkdir\fR and \fBlfs project\fR are explained in separate
+man pages.
 .SH BUGS
 The \fBlfs find\fR command isn't as comprehensive as \fBfind\fR(1).
-Report bugs using http://bugzilla.lustre.org.
 .SH AUTHOR
-The lfs command is part of the Lustre filesystem.  Contact http://www.lustre.org/
+The lfs command is part of the Lustre filesystem.
 .SH SEE ALSO
 .BR lctl (8),
+.BR lfs-df (1),
+.BR lfs-getdirstripe (1),
+.BR lfs-hsm (1),
+.BR lfs-mkdir (1),
+.BR lfs-migrate (1),
+.BR lfs-project (1),
+.BR lfs-setdirstripe (1),
+.BR lfs-setquota (1),
+.BR lfs-setstripe (1),
 .BR lustre (7)