Scroll to navigation

QUOTACTL(2) Linux Programmer's Manual QUOTACTL(2)

이름

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

가능 quota중 하나 이다. addr 독립변수는 파일 시스템을 위한 quota를 포함하는 파일의 경로명이다.
quota 사용불가.
limit과 현재 디스크 공간의 사용양을 가진다. addr 독립변수는 dqblk structure ( <sys/quota.h> 에 정의된 )를 가르키는 포인터이다.
limit과 현재 사용양을 설정한다; addr 는 이전과 같이 쓰인다.
limit를 설정한다; addr 는 이전과 같이 쓰인다.
사용량 설정.
filesystems quotas의 Sync disk copy
현제 상태를 가진다.

반환값

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

에러

커널이 quota 지원 없이 컴파일 되었다.The kernel was compiled without quota support.
부적당한 addr 값.
type 이 알려지지 않은 type이다. 혹은, special 을 찾을 수 없다.
special 이 block special device이 아니다.
special 을 마운트 테이블에서 찾을 수 없다.
quota가 일반 파일이 아니다.
quota 파일을 읽거나 쓸 수 없다.
너무 많은 파일이 열려 있어서 quota파일을 열 수 없다.
Q_QUOTAON 이 요구되었지만, quota가 이미 사용되고 있다.
Q_GETQUOTAQ_SETQUOTAQ_SETUSEQ_SETQLIM 가 quota가 가능한 파일시스템에게 요구되었다.
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

14 April 1996 Linux 1.3.88