X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Fdoc%2Flfs.1;h=648e1f76b46e2cf07ce82d2b962b8a7a497871ba;hb=32e51ef6c3bef2ae6afe6a872fb50f46f06fc1e4;hp=4e093e736d8fb3b63bc7ff291fc44317aac0c1bc;hpb=7a4548535558479bff6851fd5d29347f8efd56d7;p=fs%2Flustre-release.git diff --git a/lustre/doc/lfs.1 b/lustre/doc/lfs.1 index 4e093e7..648e1f7 100644 --- a/lustre/doc/lfs.1 +++ b/lustre/doc/lfs.1 @@ -1,90 +1,147 @@ -.TH lfs 1 "2009 Jan 29" Lustre "user utilities" +.TH lfs 1 "2018-01-24" Lustre "user utilities" .SH NAME -lfs \- Lustre utility to create a file with specific striping pattern, find the striping pattern of existing files +lfs \- client utility for Lustre-specific file layout and other attributes .SH SYNOPSIS .br -.B lfs +.B lfs changelog \fR[\fB--follow\fR] <\fImdtname\fR> [\fIstartrec \fR[\fIendrec\fR]] .br -.B lfs changelog [--follow] [startrec [endrec]] +.B lfs changelog_clear <\fImdtname\fR> <\fIid\fR> <\fIendrec\fR> .br -.B lfs changelog_clear +.B lfs check \fR<\fBmgts\fR|\fBmdts\fR|\fBosts\fR|\fBall\fR> .br -.B lfs check +.B lfs data_version \fR[\fB-nrw\fR] \fB<\fIfilename\fR> .br -.B lfs df [-i] [-h] [--pool|-p [.] [path] +.B lfs df \fR[\fB-ihlv\fR] [\fB--pool\fR|\fB-p \fR<\fIfsname\fR>[.<\fIpool\fR>]] [\fIpath\fR] .br -.B lfs find - \fB[[!] --atime|-A [-+]N] [[!] --mtime|-M [-+]N] [[!] --ctime|-C [+-]N] - \fB[--maxdepth|-D N] [[!] --mdt|-m ] [--name|-n pattern] - \fB[[!] --ost|-O ] [--print|-p] [--print0|-P] - \fB[[!] --size|-s [-+]N[kMGTPE]] - \fB[[!] --stripe-count|-c [+-]] - \fB[[!] --stripe-index|-i ] - \fB[[!] --stripe-size|-S [+-]N[kMG]] - \fB[--type |-t {bcdflpsD}] [[!] --gid|-g|--group|-G |] - \fB[[!] --uid|-u|--user|-U |] [[!] --pool ]\fR +.B lfs fid2path \fR[\fB--link \fR<\fIlinkno\fR>] <\fIfsname\fR|\fIrootpath\fR> ... .br -.B lfs getname [-h]|[path ...] +.B lfs find \fR<\fIdirectory\fR|\fIfilename \fR...> + [[\fB!\fR] \fB--atime\fR|\fB-A\fR [\fB-+\fR]\fIn\fR] +[[\fB!\fR] \fB--ctime\fR|\fB-C\fR [\fB+-\fR]\fIn\fR] + [[\fB!\fR] \fB--mtime\fR|\fB-M\fR [\fB-+\fR]\fIn\fR] + [[\fB!\fR] \fB--component-count\fR|\fB--comp-count\fR [\fB+-\fR]\fIn\fR] + [[\fB!\fR] \fB--component-flags\fR|\fB--comp-flags\fR <[\fB^\fR]\fIflag\fB,\fR...>] + [[\fB!\fR] \fB--component-end\fR|\fB--comp-end\fR|\fB-E\fR [\fB+-\fR]\fIn\fR[\fBKMGTPE\fR]] + [[\fB!\fR] \fB--component-start\fR|\fB--comp-start\fR [\fB+-\fR]\fIn\fR[\fBKMGTPE\fR]] + [[\fB!\fR] \fB--mirror-count\fR|\fB-N\fR [\fB+-\fR]\fIn\fR] + [[\fB!\fR] \fB--mirror-state\fR <[^]\fIstate\fR>] + [[\fB!\fR] \fB--gid\fR|\fB-g\fR|\fB--group\fR|\fB-G\fR <\fIgname\fR>|<\fIgid\fR>] + [[\fB!\fR] \fB--layout\fR|\fB-L mdt\fR,\fBraid0\fR,\fBreleased\fR] +[\fB--maxdepth\fR|\fB-D\fI n\fR] + [[\fB!\fR] \fB--mdt\fR|\fB--mdt-index\fR|\fB-m\fR <\fIuuid\fR|\fIindex\fR,...>] + [[\fB!\fR] \fB--mdt-count\fR|\fB-T\fR [\fB+-\fR]\fIn\fR] +[[\fB!\fR] \fB--mdt-hash\fR|\fB-H \fI\fR] + [[\fB!\fR] \fB--name\fR|\fB-n \fI\fR] +[[\fB!\fR] \fB--ost\fR|\fB-O\fR <\fIuuid\fR|\fIindex\fR,...>] + [[\fB!\fR] \fB--pool\fR <\fIpool\fR>] +[\fB--print\fR|\fB-P\fR] [\fB--print0\fR|\fB-0\fR] + [[\fB!\fR] \fB--projid\fR |<\fIprojid\fR>] +[[\fB!\fR] \fB--size|\fB-s\fR [\fB-+\fR]\fIn\fR[\fBKMGTPE\fR]] + [[\fB!\fR] \fB--stripe-count\fR|\fB-c\fR [\fB+-\fR]\fIn\fR] + [[\fB!\fR] \fB--stripe-index\fR|\fB-i\fR \fIn\fR,...] + [[\fB!\fR] \fB--extension-size\fR|\fB-ext-size\fR|\fB-z\fR [\fB+-\fR]\fIn\fR[\fBKMG\fR]] + [[\fB!\fR] \fB--stripe-size\fR|\fB-S\fR [\fB+-\fR]\fIn\fR[\fBKMG\fR]] +[[\fB!\fR] \fB--type\fR|\fB-t\fR {\fBbcdflps\fR}] + [[\fB!\fR] \fB--uid\fR|\fB-u\fR|\fB--user\fR|\fB-U +\fR<\fIuname\fR>|<\fIuid\fR>] .br -.B lfs getstripe [--obd|-O ] [--quiet|-q] [--verbose|-v] - \fB[--stripe-count|-c ] [--stripe-index|-i] [--mdt-index|-M] - \fB[--stripe-size|-S] [--directory|-d] - \fB[--pool|-p] [--recursive|-r] [--raw|-R] ...\fR +.B lfs getname +.RB [ --help | -h "] [" --instance | -i "] [" --fsname | -n "] [" +.IR path ...] .br -.B lfs setstripe [--stripe-size|-S stripe_size] [--stripe-count|-c stripe_count] - \fB[--stripe-index|-i start_ost_index ] [--pool|-p ] - \fB\fR +.B lfs getstripe +[\fB--component-count\fR|\fB--comp-count\fR] + [\fB--component-end\fR|\fB-E\fR[=[\fB+-\fR]\fIN\fR[\fBKMGTPE\fR]] + [\fB--component-flags\fR[=[\fB^\fR]\fIflag\fB,\fR...]] + [\fB--component-id\fR|\fB-I \fR[=\fIcomp_id\fR]] + [\fB--component-start\fR[=[\fB+-\fR]\fIN\fR[\fBKMGTPE\fR]]] + [\fB--directory\fR|\fB-d\fR] +[\fB--fid\fR|\fB-F\fR] +[\fB--generation\fR|\fB-g\fR] + [\fB--layout\fR|\fB-L\fR] +[\fB--mdt\fR|\fB--mdt-index\fR|\fB-m\fR] +[\fB--ost\fR|\fB-O\fR <\fIuuid\fR>] + [\fB--pool\fR|\fB-p\fR] +[\fB--quiet\fR|\fB-q\fR] +[\fB--recursive\fR|\fB-r\fR] + [\fB--raw\fR|\fB-R\fR] +[\fB--stripe-count\fR|\fB-c\fR] +[\fB--stripe-index\fR|\fB-i\fR] + [\fB--stripe-size\fR|\fB-S\fR] +[\fB--extension-size\fR|\fB--ext-size\fR|\fB-z\fR] + [\fB--verbose\fR|\fB-v\fR] +[\fB--yaml\fR|\fB-y\fR] + <\fIdirname\fR|\fIfilename\fR> ... .br -.B lfs setstripe -d +.B lfs migrate \fR{\fB--mdt-index\fR|\fB-m\fR} <\fImdt_index\fR> \fIdirectory\fR .br -.B lfs osts -.RB [ path ] +.B lfs migrate \fR[\fB--stripe-count\fR|\fB-c\fR \fR<\fIstripe_count\fR>] + [\fB--stripe-index\fR|\fB-i\fR \fR<\fIstart_ost_idx\fR>] + [\fB--stripe-size\fR|\fB-S\fR \fR<\fIstripe_size\fR>] +[\fB--pool\fR|\fB-p\fR \fR<\fIpool_name\fR>] + [\fB-o\fR|\fB--ost-list \fR<\fIost_indices\fR>] +[\fB--block\fR|\fB-b\fR] + [\fB--non-block\fR|\fB-n\fR] <\fIfile\fR|\fIdirectory\fR> +.br +.B lfs migrate \fR<\fB--component-end\fR|\fB-E\fR \fIcomp_end1\fR> +[\fISTRIPE_OPTIONS\fR] + <\fB--component-end\fR|\fB-E\fR \fIcomp_end2\fR> +[\fISTRIPE_OPTIONS\fR] + ... \fIfilename\fR .br -.B lfs poollist [.] | +.B lfs mkdir \fR[\fB-c\fR|\fB--count \fR<\fIstripe_count\fR>] +[\fB-i\fR|\fB--index \fR<\fImdt_idx\fR>] + [\fB-h\fR|\fB--hash-type \fR<\fIhash_name\fR>] +[\fB-m\fR|\fB--mode \fR<\fImode\fR>] + [\fB-D\fR|\fB--default\fR] \fIdirectory\fR .br -.B lfs quota [-q] [-v] [-o obd_uuid|-I ost_idx|-i mdt_idx] [-u | -u |-g | -g ] +.B lfs osts \fR[<\fIpath\fR>] .br -.B lfs quota -t <-u|-g> +.B lfs mdts \fR[<\fIpath\fR>] .br -.B lfs quotacheck [-ug] +.B lfs path2fid \fR[\fB--parents\fR] <\fIpath\fR> ... .br -.B lfs quotachown [-i] +.B lfs pool_list \fR<\fIfilesystem\fR>[\fB.\fR<\fIpool\fR>] | <\fIpathname\fR> .br -.B lfs quotaon [-ugf] +.B lfs setstripe \fR[\fB--stripe-size\fR|\fB-S <\fIsize\fR>] [\fB--stripe-count\fR|-c <\fIcount\fR>] + [\fB--stripe-index\fR|\fB-i <\fIstart_ost_index\fR>] [\fB--pool\fR|\fB-p \fR<\fIpoolname\fR>] + [\fB--extension-size\fR|\fB--ext-size\fR|\fB-z <\fIext_size\fR>] + [\fB--ost-list\fR|\fB-o <\fIost_indices\fR>] <\fIdirectory\fR|\fIfilename\fR> .br -.B lfs quotaoff [-ug] +.B lfs setstripe -d \fR<\fIdir\fR> .br -.B lfs quotainv [-ug] [-f] +.B lfs setstripe --component-end\fR|\fB-E <\fIend1> [\fISTRIPE_OPTIONS\fR] + [\fB--component-end\fR|\fB-E \fR<\fIend2\fR> [\fISTRIPE_OPTIONS\fR]] + ... <\fIfilename>\fR .br -.B lfs setquota <-u|--user|-g|--group> - \fB[--block-softlimit ] - \fB[--block-hardlimit ] - \fB[--inode-softlimit ] - \fB[--inode-hardlimit ] - \fB\fR +.B lfs setstripe --component-add \fB-E\fR <\fIend1> [\fISTRIPE_OPTIONS] + [\fB--component-end\fR|\fB-E \fR<\fIend2\fR> [\fISTRIPE_OPTIONS\fR]] + ... <\fIfilename\fR> .br -.B lfs setquota <-u|--user|-g|--group> - \fB[-b ] [-B ] - \fB[-i ] [-I ] - \fB\fR +.B lfs setstripe --component-del \fR{\fB--component-id\fR|\fB-I \fR<\fIid\fR> | + \fB--component-flags \fR<\fIflags\fR>} +<\fIfilename\fR> .br -.B lfs setquota -t <-u|-g> - \fB[--block-grace ] - \fB[--inode-grace ] - \fB\fR +.B lfs setstripe --yaml=\fR<\fIyaml_template_file\fR> <\fIfilename\fR> .br -.B lfs setquota -t <-u|-g> - \fB[-b ] [-i ] - \fB\fR +.B lfs --version .br -.B lfs data_version [-n] \fB\fR +.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. -.SH OPTIONS -The various options supported by lctl are listed and explained below: +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 COMMANDS +A number of sub-commands supported by lfs are listed below. Other commands +are described in separate man pages of the form +.BI lfs- command +as listed in the +.B SEE ALSO +section at the end. .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. @@ -95,221 +152,116 @@ interest to a particular consumer , potentially allowing the MDT to free up disk space. An of 0 indicates the current last record. Changelog consumers must be registered on the MDT node using \fBlctl\fR. .TP -.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 [.] [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. -.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 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. +.B check +Display the status of the MGTs, MDTs or OSTs (as specified in the command) or +all the servers (MGTs, MDTs and OSTs). +.TP +.B data_version [-nrw] +Display the current version of file data. If -n 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 -r is +specified, the data version is read after dirty pages on clients are flushed. If +-w is specified, the data version is read after all caching pages on clients are +flushed. + +Even with -r or -w, 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. + +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. .TP -.B osts +.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 [--obd|-O ] [--quiet|-q] [--verbose|-v] - \fB[--count | -c ] [--index | -i | --offset | -o ] - \fB[--pool | -p ] [--size | -s ] [--directory | -d ] - \fB[--recursive | -r ] [--raw | -R ] \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 , -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 . -.TP -.B setstripe [--stripe-count|-c stripe_count] [--stripe-size|-S stripe_size] - \fB[--stripe-index|-i start_ost_index] [--pool ] - \fB\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_index -is the OST index (starting at 0) on which to start striping for this file. A -.I start_ost_index -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 poolname -is the name of a predefined pool of OSTs (see -.B lctl -) that will be used for striping. The -.IR stripe_count , -.IR stripe_size , -and -.I start_ost_index -will be used as well; the -.I start_ost_index -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 +.B pool_list .RI { filesystem }[ .poolname "] | {" pathname } -List the pools in +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 |||] -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. -q disables printing of additional descriptions (including column titles). -.TP -.B quota -t <-u|-g> -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] -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 swap_layouts +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 quotaon [-ugf] -To turn filesystem quotas on. Options specify quota for users (-u) groups (-g) and force (-f) +.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 quotaoff [-ugf] -To turn filesystem quotas off. Options specify quota for users (-u) groups (-g) and force (-f) +.B mv +lfs mv is deprecated, use lfs +.B migrate +instead. .TP -.B quotainv [-ug] [-f] -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 migrate +See lfs-migrate(1). .TP -.B setquota <-u|-g> ||| [--block-softlimit ] [--block-hardlimit ] [--inode-softlimit ] [--inode-hardlimit ] -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 setstripe +See lfs-setstripe(1). .TP -.B setquota -t [-u|-g] [--block-grace ] [--inode-grace ] -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 +.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 data_version [-n] -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. +.B --list-commands +Output a list of the commands supported by the lfs utility .TP -.B help +.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 find /mnt/lustre -Efficiently lists all files in a given directory and its subdirectories -.TP -.B $ lfs find /mnt/lustre -mtime +30 -type f -print -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 -Check the status of all servers (MDT, OST) +.B $ lfs check all +Check the status of all servers (MGT, 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 [.] | -List space or inode usage for a specific OST pool -.TP -.B $ lfs quota -u bob /mnt/lustre -List quotas of user `bob' -.TP -.B $ lfs quota -t -u /mnt/lustre -Show grace times for user quotas on /mnt/lustre -.TP -.B $ lfs quotachown -i /mnt/lustre -Change file owner and group -.TP -.B $ lfs quotacheck -ug /mnt/lustre -Quotacheck for user and group - will turn on quotas after making the check. -.TP -.B $ lfs quotaon -ug /mnt/lustre -Turn quotas of user and group on +.B $ lfs mdts +List all the MDTs .TP .B $ lfs quotaoff -ug /mnt/lustre Turn quotas of user and group off -.TP -.B $ lfs setquota -u bob --block-softlimit 2000000 --block-hardlimit 1000000 /mnt/lustre -Set quotas of user `bob': 1GB block quota hardlimit and 2 GB block quota softlimit -.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 BUGS -The \fBlfs find\fR command isn't as comprehensive as \fBfind\fR(1). -Report bugs using http://bugzilla.lustre.org. +.SH NOTES +The usage of \fBlfs find\fR, \fBlfs getstripe\fR, \fBlfs hsm_*\fR, +\fBlfs setstripe\fR, \fBlfs migrate\fR, \fBlfs getdirstripe\fR, +\fBlfs setdirstripe\fR, \fBlfs mkdir\fR, and \fBlfs project\fR are explained +in separate man pages. .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-fid2path (1), +.BR lfs-find (1), +.BR lfs-getdirstripe (1), +.BR lfs-getname (1), +.BR lfs-getstripe (1), +.BR lfs-hsm (1), +.BR lfs-mkdir (1), +.BR lfs-migrate (1), +.BR lfs_migrate (1), +.BR lfs-project (1), +.BR lfs-path2fid (1), +.BR lfs-quota (1), +.BR lfs-setdirstripe (1), +.BR lfs-setquota (1), +.BR lfs-setstripe (1), +.BR lfs-pcc (1), .BR lustre (7)