QUOTACTL
Section: Linux Programmer's Manual (2)
Updated: 1996-04-14
Index
Return to Main Contents
NAME
quotactl - manipulate disk quota
SYNOPSIS
#include <sys/types.h>
#include <sys/quota.h>
int quotactl(int cmd, const char *special, int id,
caddr_t addr);
#include <linux/unistd.h>
#include <errno.h>
_syscall4(int, quotactl, int, cmd, const char *, special
, int, id, caddr_t, addr)
DESCRIPTION
The quota system defines for each user and/or group a soft limit
and a hard limit bounding the amount of disk space that can be
used on a given file system. The hard limit cannot be crossed.
The soft limit can be crossed, but warnings will ensue. Moreover,
the user cannot be above the soft limit for more than one week (by default)
at a time: after this week the soft limit counts as hard limit.
The
quotactl
system call manipulates these quota. Its first argument is
of the form
QCMD(subcmd,type)
where
type
is either
USRQUOTA
or
GRPQUOTA
(for user quota and group quota, respectively), and
subcmd
is described below.
The second argument
special
is the block special device these quota apply to.
It must be mounted.
The third argument
id
is the user or group ID these quota apply to (when relevant).
The fourth argument
addr
is the address of a data structure, depending on the command.
The
subcmd
is one of
- Q_QUOTAON
-
Enable quota. The
addr
argument is the pathname of the file containing
the quota for the filesystem.
- Q_QUOTAOFF
-
Disable quota.
- Q_GETQUOTA
-
Get limits and current usage of disk space. The
addr
argument is a pointer to a dqblk structure (defined in
<sys/quota.h>).
- Q_SETQUOTA
-
Set limits and current usage;
addr
is as before.
- Q_SETQLIM
-
Set limits;
addr
is as before.
- Q_SETUSE
-
Set usage.
- Q_SYNC
-
Sync disk copy of a filesystem's quota.
- Q_GETSTATS
-
Get collected stats.
RETURN VALUE
On success,
quotactl
returns 0. On error, -1 is returned, and
errno
is set appropriately.
ERRORS
- EACCES
-
The quota file is not an ordinary file.
- EBUSY
-
Q_QUOTAON
was asked, but quota were enabled already.
- EFAULT
-
Bad
addr
value.
- EINVAL
-
type
is not a known quota type. Or,
special
could not be found.
- EIO
-
Cannot read or write the quota file.
- EMFILE
-
Too many open files: cannot open quota file.
- ENODEV
-
special
cannot be found in the mount table.
- ENOPKG
-
The kernel was compiled without quota support.
- ENOTBLK
-
special
is not a block special device.
- EPERM
-
The process was not root (for the file system), and
Q_GETQUOTA
was asked for another
id
than that of the process itself, or anything other than
Q_GETSTATS
or
Q_SYNC
was asked.
- ESRCH
-
Q_GETQUOTA
or
Q_SETQUOTA
or
Q_SETUSE
or
Q_SETQLIM
was asked for a file system that didn't have quota enabled.
CONFORMING TO
BSD
SEE ALSO
quota(1),
getrlimit(2),
setrlimit(2),
ulimit(3),
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- CONFORMING TO
-
- SEE ALSO
-
This document was created by
man2html,
using the manual pages.
Time: 00:11:36 GMT, May 13, 2005
www.fiveanddime.net