.TH QUOTAON 8
.UC 4
.SH NAME
quotaon, quotaoff \- turn filesystem quotas on and off
.SH SYNOPSIS
.B quotaon
[
.B \-vugfp
] [
.B \-F
.I format-name
]
.IR filesystem .\|.\|.
.br
.B quotaon
[
.B \-avugPfp
] [
.B \-F
.I format-name
]
.LP
.B quotaoff
[
.B \-vugPp
]
[
.B \-x
.I state
]
.IR filesystem .\|.\|.
.br
.B quotaoff
[
.B \-avugp
]
.SH DESCRIPTION
.SS quotaon
.IX  "quotaon command"  ""  "\fLquotaon\fP \(em turn filesystem quotas on"
.IX  "user quotas"  "quotaon command"  ""  "\fLquotaon\fP \(em turn filesystem quotas on"
.IX  "disk quotas"  "quotaon command"  ""  "\fLquotaon\fP \(em turn filesystem quotas on"
.IX  "quotas"  "quotaon command"  ""  "\fLquotaon\fP \(em turn filesystem quotas on"
.IX  "filesystem"  "quotaon command"  ""  "\fLquotaon\fP \(em turn filesystem quotas on"
.LP
.B quotaon
announces to the system that disk quotas should be enabled on one or
more filesystems. The filesystem quota files must be present in the root
directory of the specified filesystem and be named either
.IR aquota.user
(for version 2 user quota),
.IR quota.user
(for version 1 user quota),
.IR aquota.group
(for version 2 group quota), or
.IR quota.group
(for version 1 group quota).
.PP
XFS filesystems are a special case - XFS considers quota
information as filesystem metadata and uses journaling to provide
a higher level guarantee of consistency.
There are two components to the XFS disk quota system:
accounting and limit enforcement.
XFS filesystems require that quota accounting be turned on at mount time.
It is possible to enable and disable limit enforcement on an XFS
filesystem after quota accounting is already turned on.
The default is to turn on both accounting and enforcement.
.PP
The XFS quota implementation does not maintain quota information in
user-visible files, but rather stores this information internally.
.SS quotaoff
.IX  "quotaoff command"  ""  "\fLquotaoff\fP \(em turn filesystem quotas off"
.IX  "user quotas"  "quotaoff command"  ""  "\fLquotaoff\fP \(em turn filesystem quotas off"
.IX  "disk quotas"  "quotaoff command"  ""  "\fLquotaoff\fP \(em turn filesystem quotas off"
.IX  "quotas"  "quotaoff command"  ""  "\fLquotaoff\fP \(em turn filesystem quotas off"
.IX  "filesystem"  "quotaoff command"  ""  "\fLquotaoff\fP \(em turn filesystem quotas off"
.LP
.B quotaoff
announces to the system that the specified filesystems should
have any disk quotas turned off.
.SH OPTIONS
.SS quotaon
.TP
.B -F, --format=\f2format-name\f1
Report quota for specified format (ie. don't perform format autodetection).
Possible format names are:
.B vfsold
Original quota format with 16-bit UIDs / GIDs,
.B vfsv0
Quota format with 32-bit UIDs / GIDs, 64-bit space usage, 32-bit inode usage and limits,
.B vfsv1
Quota format with 64-bit quota limits and usage,
.B xfs
(quota on XFS filesystem)
.TP
.B -a, --all
All automatically mounted (no
.B noauto
option) non-NFS filesystems in
.B /etc/fstab
with quotas will have their quotas turned on.
This is normally used at boot time to enable quotas.
.TP
.B -v, --verbose
Display a message for each filesystem where quotas are turned on.
.TP
.B -u, --user
Manipulate user quotas. This is the default.
.TP
.B -g, --group
Manipulate group quotas.
.TP
.B -P, --project
Manipulate project quotas.
.TP
.B -p, --print-state
Instead of turning quotas on just print state of quotas (ie. whether. quota is on or off)
.TP
.B -x, --xfs-command enforce
Switch on limit enforcement for XFS filesystems. This is the default action for
any XFS filesystem. This option is only applicable to XFS, and is silently
ignored for other filesystem types.
.TP
.B -f, --off
Make
.B quotaon
behave like being called as
.BR quotaoff .
.SS quotaoff
.TP
.B -F, --format=\f2format-name\f1
Report quota for specified format (ie. don't perform format autodetection).
Possible format names are:
.B vfsold
(version 1 quota),
.B vfsv0
(version 2 quota),
.B xfs
(quota on XFS filesystem)
.TP
.B -a, --all
Force all filesystems in
.B /etc/fstab
to have their quotas disabled.
.TP
.B -v, --verbose
Display a message for each filesystem affected.
.TP
.B -u, --user
Manipulate user quotas. This is the default.
.TP
.B -g, --group
Manipulate group quotas.
.TP
.B -P, --project
Manipulate project quotas.
.TP
.B -p, --print-state
Instead of turning quotas off just print state of quotas (ie. whether. quota is on or off)
.TP
.B -x, --xfs-command delete
Free up the space used to hold quota information (maintained
internally) within XFS.
This option is only applicable to XFS, and is silently
ignored for other filesystem types.
It can only be used on a filesystem with quota previously turned off.
.TP
.B -x, --xfs-command enforce
Switch off limit enforcement for XFS filesystems (perform quota accounting
only). This is the default action for any XFS filesystem.  This option is only
applicable to XFS, and is silently ignored for other filesystem types.
.TP
.B -x, --xfs-command account
This option can be used to disable quota accounting. It is not possible to
enable quota accounting by quota tools. Use
.IR mount (8)
for that. This option is only applicable to XFS filesystems, and is silently
ignored for other filesystem types.
.SH "NOTES ON XFS FILESYSTEMS"
To enable quotas on an XFS filesystem, use
.IR mount (8)
or
.B /etc/fstab
quota option to enable both accounting and limit enforcement.
.B quotaon
utility cannot be used for this purpose.
.PP
Turning on quotas on an XFS root filesystem requires the quota mount
options be passed into the kernel at boot time through the Linux
.B rootflags
boot option.
.PP
To turn off quota limit enforcement on any XFS filesystem, first make
sure that quota accounting and enforcement are both turned on using
.B "repquota -v"
.IR filesystem .
Then, use
.B "quotaoff -v
.I filesystem
to disable limit enforcement.
This may be done while the filesystem is mounted.
.PP
Turning on quota limit enforcement on an XFS filesystem is
achieved using
.B "quotaon -v"
.IR filesystem .
This may be done while the filesystem is mounted.
.SH FILES
.PD 0
.TP 20
.B aquota.user or aquota.group
quota file at the filesystem root (version 2 quota, non-XFS filesystems)
.TP
.B quota.user or quota.group
quota file at the filesystem root (version 1 quota, non-XFS filesystems)
.TP
.B /etc/fstab
default filesystems
.PD
.SH "SEE ALSO"
.BR quotactl (2),
.BR fstab (5),
.BR quota_nld (8),
.BR repquota (8),
.BR warnquota (8)
