.br
.B lfs check <mds|osts|servers>
.br
-.B lfs df [-i] [-h] [--pool|-p <fsname>[.<pool>] [path]
+.B lfs df [-i] [-h] [--lazy] [--pool|-p <fsname>[.<pool>] [path]
+.br
+.B lfs fid2path [--link <linkno>] <fsname|rootpath> <fid> ...
.br
.B lfs find <directory|filename>
\fB[[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N] [[!] --ctime|-C [+-]N]
\fB[[!] --stripe-count|-c [+-]<stripes>]
\fB[[!] --stripe-index|-i <index,...>]
\fB[[!] --stripe-size|-S [+-]N[kMG]]
+ \fB[[!] --layout|-L raid0,released]
\fB[--type |-t {bcdflpsD}] [[!] --gid|-g|--group|-G <gname>|<gid>]
\fB[[!] --uid|-u|--user|-U <uname>|<uid>] [[!] --pool <pool>]\fR
.br
.B lfs getstripe [--obd|-O <uuid>] [--quiet|-q] [--verbose|-v]
\fB[--stripe-count|-c ] [--stripe-index|-i] [--mdt-index|-M]
\fB[--stripe-size|-S] [--directory|-d]
+ \fB[--layout|-L]
\fB[--pool|-p] [--recursive|-r] [--raw|-R] <dirname|filename> ...\fR
.br
.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count]
.B lfs osts
.RB [ path ]
.br
-.B lfs poollist <filesystem>[.<pool>] | <pathname>
+.B path2fid <path> ...
+.br
+.B lfs pool_list <filesystem>[.<pool>] | <pathname>
.br
.B lfs quota [-q] [-v] [-o obd_uuid|-I ost_idx|-i mdt_idx] [-u <uname>| -u <uid>|-g <gname>| -g <gid>] <filesystem>
.br
.br
.B lfs quotacheck [-ug] <filesystem>
.br
-.B lfs quotachown [-i] <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>
\fB[--block-softlimit <block-softlimit>]
\fB[--block-hardlimit <block-hardlimit>]
\fB[-b <block-grace>] [-i <inode-grace>]
\fB<filesystem>\fR
.br
+.br
+.B lfs swap_layouts <filename1> <filename2>
+.br
.B lfs data_version [-n] \fB<filename>\fR
.br
.B lfs help
.B check
Display the status of MDS or OSTs (as specified in the command) or all the servers (MDS and OSTs)
.TP
-.B df [-i] [-h] [--pool|-p <fsname>[.<pool>] [path]
+.B df [-i] [-h] [--lazy] [--pool|-p <fsname>[.<pool>] [path]
Report filesystem disk space usage or inodes usage (with \fB-i\fR) of each
MDT/OST, or a subset of OSTs if a pool is specified with \fB-p\fR. By default
print the usage of all mounted Lustre filesystems, otherwise if \fBpath\fR is
specified print only the usage of that filesystem. If \fB-h\fR is given, the
output is printed in \fIh\fRuman readable format, using SI base-2 suffixes
for \fBM\fRega-, \fBG\fRiga-, \fBT\fRera-, \fBP\fReta-, or \fBE\fRxabytes.
+The \fB--lazy\fR/\fB-l\fR option skips any OST that is currently disconnected
+from the client. This avoids blocking the \fBdf\fR output if an OST is down,
+and only returns the space on the OSTs that can currently be accessed.
.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.
+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--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 \fIfiles with the parameter OR MORE\fR, while \fB-\fR before a numeric value means \fIfiles with the parameter OR LESS\fR.
.TP
.B getname [-h]|[path ...]
Report all the Lustre mount points and the corresponding Lustre filesystem
.B getstripe [--obd|-O <uuid>] [--quiet|-q] [--verbose|-v]
\fB[--count | -c ] [--index | -i | --offset | -o ]
\fB[--pool | -p ] [--size | -s ] [--directory | -d ]
+ \fB[--layout | -L]
\fB[--recursive | -r ] [--raw | -R ] <dirname|filename>\fR
.br
List the striping information for a given filename or directory tree.
.BR --size ,
.BR --index ,
.BR --offset ,
+.BR --layout ,
or
.B --pool
can be used to return only the specific fields.
.B setstripe -d
Delete the default striping on the specified directory.
.TP
-.B poollist
+.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 <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.
+.TP
+.B pool_list
.RI { filesystem }[ .poolname "] | {" pathname }
List the pools in
.I filesystem
.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)
+.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>
-To turn filesystem quotas on. Options specify quota for users (-u) groups (-g) and force (-f)
+.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>
-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.
+.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> <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
.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 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
Set grace times for user quotas: 1000 seconds for block quotas, 1 week and 4 days for inode quotas
.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 lfs-hsm (1),
.BR lctl (8),
.BR lustre (7)