Provided by: moosefs-client_4.57.5-1_amd64 

NAME
mfsquota - MooseFS quota management tools
SYNOPSIS
mfsgetquota [-?] [-n|-h|-H|-k|-m|-g] DIRECTORY...
mfssetquota [-?] [-n|-h|-H|-k|-m|-g] [-p grace_period|-P] [-iI inodes] [-lL length] [-sS size] [-rR
realsize] DIRECTORY...
mfsdelquota [-?] [-n|-h|-H|-k|-m|-g] [-a|-ilsr] [-A|-ILSR] DIRECTORY...
mfscopyquota [-?] [-n|-h|-H|-k|-m|-g] SOURCE_DIRECTORY DESTINATION_DIRECTORY
DESCRIPTION
These tools are used to check, define and delete quotas. Quota is set on a directory. It can be set in
one of 4 ways: for number of inodes inside the directory (total sum of the subtree's inodes) with -i, -I
options, for sum of (logical) file lengths with -l, -L options, for sum of chunk sizes (not considering
goals) with -s, -S options and for physical hdd space (more or less chunk sizes multiplied by goal of
each chunk) with -r, -R options. Small letters set soft quota, capital letters set hard quota. -a and -A
options in mfsdelquota mean all kinds of quota. Quota behaviour (soft/hard) is described below. For soft
quota grace period can be defined using -p option or -P option. Option -p requires an explicit parameter
in "time format" (see TIME), with minimum unit being seconds. Option -P will use the default grace period
defined in mfsmaster.cfg. When neither -p nor -P options are given, the behaviour of mfssetquota depends
on if there was already a quota defined on a given directory. If yes, then old grace period value will be
retained. If no, then the command will behave as if -P was used.
Quota is always set on a directory. Hard quota cannot be exceeded anytime. Soft quota can be exceeded
for a specified period of time. Once a quota is exceeded in a directory, user must go below the quota
during the grace period. If not, the soft quota for this particular directory starts to behave like a
hard quota.
Notice! mfscopyquota will copy all existing quotas from SOURCE_DIRECTORY to DESTINATION_DIRECTORY, not
but will not delete any quotas in DESTINATION_DIRECTORY. That means all quotas already existing in
DESTINATION_DIRECTORY prior to the copying operation and not replaced by the copying operation will still
exist afterwards. For example: if SOURCE_DIRECTORY has an inode quota set and DESTINATION_DIRECTORY has a
file length quota set, afterwards DESTINATION_DIRECTORY will have both quotas set.
TIME
For variables that define time without requiring a single, specific unit, time can be defined as a number
of seconds or hours (integer), depending on minimum unit for the variable, or as a time period in one of
two possible formats:
first format: #.#T where T is one of: s-seconds, m-minutes, h-hours, d-days or w-weeks; fractions of
minimum unit will be rounded
second format: #w#d#h#m#s, any number of definitions can be ommited, but the remaining definitions must
be in order (so #d#m is still a valid definition, but #m#d is not); ranges: s,m: 0 to 59, h: 0 to 23, d:
0 t o 6, w is unlimited and the first definition is also always unlimited (i.e. for #d#h#m d will be
unlimited)
If a minimum unit of a variable is larger than seconds, units below the minimum one will not be accepted.
For example, a variable that has hours as a minimum unit will not accept s and m units.
Examples:
1.5d is the same as 1d12h, is the same as 36h
2.5w is the same as 2w3d12h, is the same as 420h; 2w84h is not a valid time period (h is not the first
definition, so it is bound by range 0 to 23)
GENERAL OPTIONS
Most MooseFS tools use -n, -h, -H, -k, -m and -g options to select format of printed numbers. -n causes
to print exact numbers, -h uses binary prefixes (Ki, Mi, Gi as 2^10, 2^20 etc.) while -H uses SI prefixes
(k, M, G as 10^3, 10^6 etc.). -k, -m and -g show plain numbers respectivaly in kibis (binary kilo -
1024), mebis (binary mega - 1024^2) and gibis (binary giga - 1024^3). The same can be achieved by
setting MFSHRFORMAT environment variable to: 0 (exact numbers), 1 or h (binary prefixes), 2 or H (SI
prefixes), 3 or h+ (exact numbers and binary prefixes), 4 or H+ (exact numbers and SI prefixes). The
default is to print just exact numbers.
Option -? displays short usage message.
EXAMPLES
All examples assume that MooseFS client is mounted in /mnt/mfs directory.
mfssetquota -p 24h -i 10000 /mnt/mfs/users/bob
Sets a soft quota for the number of inodes in /users/bob directory on MooseFS. Once 10000 objects are
created in the tree under /users/bob, grace period countdown of 24 hours will start. Since there is no
hard quota defined, there is no limit to how many additional inodes can be created during those 24 hours,
but once that time has passed, no new inode creation attempt will be successful. To erase the quota
constraints (grace period countdown and/or full hard quota lock) enough inodes must be deleted from
/users/bob to go below the 10000 limit.
mfssetquota -p 24h -i 10000 -I 20000 /mnt/mfs/users/bob
Sets a soft and a hard quota for the number of inodes in /users/bob directory on MooseFS. Once 10000
objects are created in the tree under /users/bob, grace period countdown of 24 hours will start. If,
during that period, additional objects are created up to the total number of 20000, hard quota will
immediately "kick in", even if the grace period for soft quota has not yet elapsed. Once that happens, no
new inode creation attempts will be successful. To erase the quota constraints (grace period countdown
and/or full hard quota lock) enough inodes must be deleted from /users/bob to go below the 10000 limit.
mfssetquota -l 2GiB /mnt/mfs/users/bob
If there was never any previous quota on /users/bob directory, this directory will now have a soft quota
of total files lenght (sum of files' lengths) in the whole subtree set to 2 GiB. Since this is a new
quota and no -p and -P options were explicitely specified, -P will be assumed and default grace period
from mfsmaster.cfg will be used.
If there was already a previous quota on /users/bob directory, let's say like the one in the first
example, then this directory will have both soft quota for number of inodes and soft quota for total
files lenght set and the grace period will be the one set with the previous command (so 24 hours in this
example).
mfssetquota -p 3d /mnt/mfs/users/bob
If /users/bob has any soft quotas set, grace period of these quotas will now be 3 days (72 hours). If
not, this command will be ignored.
mfssetquota -P /mnt/mfs/users/bob
If /users/bob has any soft quotas set, grace period of these quotas will now be whatever is defined in
mfsmaster.cfg. If not, this command will be ignored.
mfsdelquota -i /mnt/mfs/users/bob
Soft quota for the number of inodes in /users/bob directory will be deleted. If there was also a hard
quota or any other kind of quota (legnth, size, etc), those will remain unchanged.
mfsdelquota -a -A /mnt/mfs/users/bob
Deletes all possible quotas (all soft and all hard) from /users/bob
REPORTING BUGS
Report bugs to <bugs@moosefs.com>.
COPYRIGHT
Copyright (C) 2025 Jakub Kruszona-Zawadzki, Saglabs SA
This file is part of MooseFS.
MooseFS is free software; you can redistribute it and/or modify it under the terms of the GNU General
Public License as published by the Free Software Foundation, version 2 (only).
MooseFS is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the
implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
License for more details.
You should have received a copy of the GNU General Public License along with MooseFS; if not, write to
the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA or visit
http://www.gnu.org/licenses/gpl-2.0.html
SEE ALSO
mfsmount(8), mfstools(1)
MooseFS 4.57.5-1 February 2025 mfsquota(1)