quotactl

Autres langues

Langue: ko

Version: 14 April 1996 (fedora - 25/11/07)

Section: 2 (Appels système)

이름

quotactl - 디스크 분할을 다룬다

사용법

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

int quotactl (int cmd, const char *special, int id , caddr_t addr);

#include <linux/unistd.h>

_syscall4(int, quotactl, int, cmd, const char *, special , int, id, caddr_t, addr);

설명

quota system은 각각의 사용자나 그룹을 위해 주어진 파일 시스템상에서 사용할 수 있는 디스크 공간의 양을 soft limit나 hard limit로 묶어주는 것이다. hard limit는 연결될 수 없다. soft limit는 연결될 수 있다. 하지만 주의가 필요하다. 게다가, 덧붙여서 사용자는 디폴트 상태에서 한번에 일주일 이상 soft limit 상에 있을 수 없다. 일주일 후에는 hard limit로 계산된다. quotactl 시스템 호출은 이 quota를 다룬다. 이것은 첫번째 독립변수는 QCMD(subcmd,type) 의 형태이다. typeUSRQUOTAGRPQUOTA (각각 사용자 quota와 그룹 quota)이고, subcmd 는 아래를 참조하자. 두번째 독립변수 special 는 quota에 적용되는 특별한 장치이다. 반드시 마운트 시켜야 한다. 세번째 독립변수 id 는 이 quota가 적용되는 사용자나 그룹의 id이다. 네번째 독립변수 addr 는 명령어에 따른 데이터 구조의 주소이다. subcmd
Q_QUOTAON
가능 quota중 하나 이다. addr 독립변수는 파일 시스템을 위한 quota를 포함하는 파일의 경로명이다.
Q_QUOTAOFF
quota 사용불가.
Q_GETQUOTA
limit과 현재 디스크 공간의 사용양을 가진다. addr 독립변수는 dqblk structure ( <sys/quota.h> 에 정의된 )를 가르키는 포인터이다.
Q_SETQUOTA
limit과 현재 사용양을 설정한다; addr 는 이전과 같이 쓰인다.
Q_SETQLIM
limit를 설정한다; addr 는 이전과 같이 쓰인다.
Q_SETUSE
사용량 설정.
Q_SYNC
filesystems quotas의 Sync disk copy
Q_GETSTATS
현제 상태를 가진다.

반환값

성공시, quotactl 는 0을 반환한다. 에러시, -1을 반환한다. errno 는 적절히 설정된다.

에러

ENOPKG
커널이 quota 지원 없이 컴파일 되었다.The kernel was compiled without quota support.
EFAULT
부적당한 addr 값.
EINVAL
type 이 알려지지 않은 type이다. 혹은, special 을 찾을 수 없다.
ENOTBLK
special 이 block special device이 아니다.
ENODEV
special 을 마운트 테이블에서 찾을 수 없다.
EACCES
quota가 일반 파일이 아니다.
EIO
quota 파일을 읽거나 쓸 수 없다.
EMFILE
너무 많은 파일이 열려 있어서 quota파일을 열 수 없다.
EBUSY
Q_QUOTAON 이 요구되었지만, quota가 이미 사용되고 있다.
ESRCH
Q_GETQUOTAQ_SETQUOTAQ_SETUSEQ_SETQLIM 가 quota가 가능한 파일시스템에게 요구되었다.
EPERM
The process was not root (for the file system), and Q_GETQUOTA 가 다른 이미 사용되고 있는 id 에게 요구되었다. 혹은 Q_GETSTATSQ_SYNC 가 요구되었다.

호환

BSD

관련 항목

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

역자

ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 29