diff options
author | jkar8572 <jkar8572> | 2001-03-23 12:03:26 +0000 |
---|---|---|
committer | jkar8572 <jkar8572> | 2001-03-23 12:03:26 +0000 |
commit | 869fe242340fefe0540fdcf51698ba4c3c8c07bb (patch) | |
tree | 950fa3f5997c1e8ee68c0f17d4eaf17abef64f34 /quotactl.2 |
Initial revision
Diffstat (limited to 'quotactl.2')
-rw-r--r-- | quotactl.2 | 231 |
1 files changed, 231 insertions, 0 deletions
diff --git a/quotactl.2 b/quotactl.2 new file mode 100644 index 0000000..006c86e --- /dev/null +++ b/quotactl.2 @@ -0,0 +1,231 @@ +.TH QUOTACTL 2 +.SH NAME +quotactl \- manipulate disk quotas +.SH SYNOPSIS +.nf +.B #include <linux/quota.h> +.B #include <linux/xqm.h> +.LP +.B int quotactl(int cmd, char \(**special, int uid, caddr_t addr) +.fi +.SH DESCRIPTION +.LP +.IX "filesystem" "quotactl() disk quotas" "" "\fLquotactl()\fP \(em disk quotas" +.IX "quotactl() disk quotas" "" "\fLquotactl()\fP \(em disk quotas" +.IX "disk quotas quotactl()" "" "disk quotas \(em \fLquotactl()\fP" +.LP +The +.B quotactl(\|) +call manipulates disk quotas. +.I cmd +indicates a command to be applied to +.SM UID +.IR id +or +.SM GID +.IR id . +To set the type of quota use the +.IR "QCMD(cmd, type)" +macro. +.I special +is a pointer to a null-terminated string containing the path +name of the block special device for the filesystem being manipulated. +.I addr +is the address of an optional, command specific, data structure +which is copied in or out of the system. The interpretation of +.I addr +is given with each command below. +.TP 15 +.SB Q_QUOTAON +Turn on quotas for a filesystem. +.I addr +points to the path name of file containing the quotas for the filesystem. +The quota file must exist; it is normally created with the +.BR quotacheck (8) +program. This call is restricted to the super-user. +.TP +.SB Q_QUOTAOFF +Turn off quotas for a filesystem. +.I addr +and +.I uid +are ignored. +This call is restricted to the super-user. +.TP +.SB Q_GETQUOTA +Get disk quota limits and current usage for user or group +.IR id . +.I addr +is a pointer to a +.B dqblk +structure (defined in +.BR <linux/quota.h> ). +Only the super-user may get the quotas of a user other than himself. +.TP +.SB Q_SETQUOTA +Set disk quota limits and current usage for user or group +.IR id . +.I addr +is a pointer to a +.B dqblk +structure (defined in +.BR <linux/quota.h> ). +This call is restricted to the super-user. +.TP +.SB Q_SETQLIM +Set disk quota limits for user or group +.IR id . +.I addr +is a pointer to a +.B dqblk +structure (defined in +.BR <linux/quota.h> ). +This call is restricted to the super-user. +.TP +.SB Q_SYNC +Update the on-disk copy of quota usages for a filesystem. +If +.I special +is null then all filesystems with active quotas are sync'ed. +.I addr +and +.I uid +are ignored. +.PP +For XFS filesystems making use of the XFS Quota Manager (XQM), the +above commands are bypassed and the following commands are used: +.TP 15 +.SB Q_XQUOTAON +Turn on quotas for an XFS filesystem. +XFS provides the ability to turn on/off quota limit enforcement +with quota accounting. +Therefore, XFS expects the addr to be a pointer to an unsigned int +that contains either the flags XFS_QUOTA_UDQ_ACCT and/or +XFS_QUOTA_UDQ_ENFD (for user quota), or XFS_QUOTA_GDQ_ACCT and/or +XFS_QUOTA_GDQ_ENFD (for group quota), as defined in +.BR <linux/xqm.h> . +This call is restricted to the superuser. +.TP +.SB Q_XQUOTAOFF +Turn off quotas for an XFS filesystem. +As in Q_QUOTAON, XFS filesystems expect a pointer to an unsigned int +that specifies whether quota accounting and/or limit enforcement need +to be turned off. +This call is restricted to the superuser. +.TP +.SB Q_XGETQUOTA +Get disk quota limits and current usage for user +.IR uid . +.I addr +is a pointer to a +.B fs_disk_quota +structure (defined in +.BR <linux/xqm.h> ). +Only the superuser may get the quotas of a user other than himself. +.TP +.SB Q_XSETQLIM +Set disk quota limits for user +.IR uid . +.I addr +is a pointer to a +.B fs_disk_quota +structure (defined in +.BR <linux/xqm.h> ). +This call is restricted to the superuser. +.TP +.SB Q_XGETQSTAT +Returns a +.B fs_quota_stat +structure containing XFS filesystem specific quota information. +This is useful in finding out how much space is spent to store quota +information, and also to get quotaon/off status of a given local XFS +filesystem. +.TP +.SB Q_XQUOTARM +Free the disk space taken by disk quotas. +Quotas must have already been turned off. +.PP +There is no command equivalent to +.B Q_SYNC +for XFS since +.IR sync (1) +writes quota information to disk (in addition to the other filesystem +metadata it writes out). +.SH RETURN VALUES +.LP +.B quotactl(\|) +returns: +.TP +0 +on success. +.TP +\-1 +on failure and sets +.B errno +to indicate the error. +.SH ERRORS +.TP 15 +.SM EFAULT +.I addr +or +.I special +are invalid. +.TP +.SM EINVAL +The kernel has not been compiled with the +.SB QUOTA +option. +.IP +.I cmd +is invalid. +.TP +.SM ENOENT +The file specified by +.I special +or +.I addr +does not exist. +.TP +.SM ENOTBLK +.I special +is not a block device. +.TP +.SM EPERM +The call is privileged and the caller was not the super-user. +.TP +.SM ESRCH +No disc quota is found for the indicated user. +.IP +Quotas have not been turned on for this filesystem. +.TP +.SM EUSERS +The quota table is full. +.LP +If +.I cmd +is +.BR \s-1Q_QUOTAON\s0 , +.B quotactl(\|) +may set errno to: +.TP 15 +.SM EACCES +The quota file pointed to by +.I addr +exists but is not a regular file. +.IP +The quota file pointed to by +.I addr +exists but is not on the +filesystem pointed to by +.IR special . +.TP +.SM EBUSY +.SB Q_QUOTAON +attempted while another +.SB Q_QUOTAON +has already taken place. +.SH "SEE ALSO" +.BR quota (1), +.BR getrlimit (2), +.BR quotacheck (8), +.BR quotaon (8) |