Manpages

NOMBRE

quotactl − manipula cuotas de disco

SINOPSIS

#include <sys/types.h>
#include <sys/quota.h>

int quotactl (int cmd, const char *especial, int id , caddr_t direc);

#include <linux/unistd.h>

_syscall4(int, quotactl, int, cmd, const char *, especial , int, id, caddr_t, direc);

DESCRIPCIÓN

El sistema de cuotas define para cada usuario o grupo un límite blando y un límite duro limitando la cantidad de espacio de disco que puede usarse en un sistema de ficheros dado. EL límite duro no puede ser traspasado. El límite blando puede traspasarse, pero se avisará de ello. Ítem más, el usuario no puede estar por encima del límite blando más allá de una semana (tiempo predeterminado) cada vez: después de este periodo el límite blando cuenta como el duro.

La llamada al sistema quotactl manipula estas cuotas. Su primer argumento es de la forma QCMD(subcmd,tipo) donde tipo es uno de USRQUOTA o GRPQUOTA (para cuotas de usuario y grupo, respectivamente), y subcmd está descrito más abajo.

El segundo argumento especial es el dispositivo especial de bloques al que se aplican estas cuotas. Debe estar montado.

El tercer argumento id es el identificador del usuario o grupo al cual se aplican estas cuotas (cuando sea relevante).

El cuarto argumento direc es la dirección de una estructura de datos, dependiendo de la orden.

El subcmd es uno de

Q_QUOTAON

Activa las cuotas. El argumento direc es el camino del fichero que contiene las cuotas para el sistema de ficheros.

Q_QUOTAOFF

Desactiva las cuotas.

Q_GETQUOTA

Obtiene los límites y el uso actual del espacio de disco. El argumento direc es un puntero a una estructura dqblk (definida en <sys/quota.h>).

Q_SETQUOTA

Establece los límites y el uso actual; direc es como antes.

Q_SETQLIM

Establece los límites; direc es como antes.

Q_SETUSE

Establece el uso.

Q_SYNC

Sincroniza la copia en disco de las cuotas de un sistema de ficheros.

Q_GETSTATS

Obtiene datos estadísticos recogidos.

VALOR DEVUELTO

En caso de éxito, quotactl devuelve 0. En caso de error, se devuelve −1 y se pone un valor apropiado en errno.

ERRORES

ENOPKG

El núcleo ha sido compilado sin soporte de cuotas.

EFAULT

Valor malo para direc.

EINVAL

tipo no es un tipo de cuotas conocido. O especial no ha podido ser encontrado.

ENOTBLK

especial no es un dispositivo especial de bloques.

ENODEV

especial no se halla en la tabla de montaje.

EACCES

El fichero de cuotas no es un fichero ordinario.

EIO

No se puede leer o escribir en el fichero de cuotas.

EMFILE

Demasiados ficheros abiertos: no se puede abrir el fichero de cuotas.

EBUSY

Se ha pedido Q_QUOTAON pero las cuots ya estaban activadas.

ESRCH

Se ha pedido Q_GETQUOTA o Q_SETQUOTA o Q_SETUSE o Q_SETQLIM para un sistema de ficheros que no tenía las cuotas activadas.

EPERM

El proceso no era root (para el sistema de ficheros), y se ha pedido Q_GETQUOTA para otro id que el del proceso mismo, o se ha pedido otra cosa distinta a Q_GETSTATS o a Q_SYNC .

CONFORME A

BSD

VÉASE TAMBIÉN

quota(1), getrlimit(2), setrlimit(2), ulimit(2), quotacheck(8), quotaon(8)