이 름
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) 의 형 태 이 다 . type 은 USRQUOTA 나 GRPQUOTA (각 각 사 용 자 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_GETQUOTA 나 Q_SETQUOTA 나 Q_SETUSE 난 Q_SETQLIM 가 quota가 가 능 한 파 일 시 스 템 에 게 요 구 되 었 다 . | ||
EPERM |
The process was not root (for the file system), and Q_GETQUOTA 가 다 른 이 미 사 용 되 고 있 는 id 에 게 요 구 되 었 다 . 혹 은 Q_GETSTATS 나 Q_SYNC 가 요 구 되 었 다 . |
호 환
BSD
관 련 항 목
quota(1), getrlimit(2), setrlimit(2), ulimit(2), quotacheck(8), quotaon(8)
역 자
ASPLINUX<man [AT] asp-linux.kr>, 2000년 7월 29