QUOTACTL
Section: Linux Programmer's Manual (2)
Updated: 2007-06-01
Index
JM Home Page
roff page
名前
quotactl - ディスク quota を操作する
書式
#include <sys/types.h>
#include <sys/quota.h>
int quotactl(int cmd, const char *special, int id, caddr_t addr);
説明
quota システムは、各々のユーザ及び/またはグループに対して、
ソフト・リミット及びハード・リミットを定める。これはあるファイル・システムで
使用する事が出来るディスク容量を制限する。
ハード・リミットは超過することは出来ない。
ソフト・リミットは超過する事が出来るが、警告が発せられる。
更に、(デフォルトでは) 一週間以上ソフト・リミットを超過したままに
しておく事はできない: 一週間経過した後はハード・リミットを超過したと
みなされる。
quotactl()
システムコールはこれらの quota に対する操作を行なう。
最初の引き数は
QCMD(subcmd,type)
という形式である。
type
には、ユーザー quota については
USRQUOTA
を、グループ quota については
GRPQUOTA
を指定する。
subcmd
は以下で説明する。
二番目の引き数
special
は quota を適用するデバイスのブロック・スペシャル・ファイルである。
そのデバイスはマウントされていなくてはならない。
三番目の引き数
id
には、(必要な場合に) quota を適用するユーザーもしくはグループの ID を指定する。
四番目の引き数
addr
には、コマンドごとに異ったデータ構造体のアドレスを指定する。
subcmd
は以下のいずれかである
- Q_QUOTAON
-
quota を有効にする。
addr
引き数には、そのファイル・システムの quota が記録されているファイルの
パス名を指定する。
- Q_QUOTAOFF
-
quota を無効にする。
- Q_GETQUOTA
-
ディスク使用量の制限値と現在の使用量を得る。
addr
引き数は
(<sys/quota.h>
で定義された) dqblk 構造体を指すポインタである。
- Q_SETQUOTA
-
制限値と現在の使用量を設定する:
addr
は同上。
- Q_SETQLIM
-
制限値を設定する;
addr
は同上。
- Q_SETUSE
-
使用量を設定する。
- Q_SYNC
-
ファイル・システムの quota ファイルをディスクと同期させる。
- Q_GETSTATS
-
収集された統計を取得する。
返り値
quotactl()
は、成功時には 0 を返す。エラー時は、-1 を返すとともに、
errno
が適切な値に設定される。
エラー
- EACCES
-
quota ファイルが普通のファイルではない。
- EBUSY
-
Q_QUOTAON
の要求がなされたが、quota(s) は既に有効になっている。
- EFAULT
-
addr
の値に誤りがある。
- EINVAL
-
type
が既知の quota の形式ではない。もしくは、
special
デバイスが見付からなかった。
- EIO
-
quota ファイルへの読み書きが出来ない。
- EMFILE
-
ファイルをオープンしすぎている: quota ファイルをオープン出来ない。
- ENODEV
-
special
がマウント・テーブル内に見当たらない。
- ENOPKG
-
quota を使用可にしてカーネルをコンパイルしていない。
- ENOTBLK
-
special
がブロック・スペシャル・デバイスではない。
- EPERM
-
プロセスが (そのファイル・システムの) root のものではなく、
かつプロセス自身のものとは異なる
id
に対して
Q_GETQUOTA
要求を行なった。
もしくは、
Q_GETSTATS,
Q_SYNC
以外の要求がなされた。
- ESRCH
-
quota が有効になっていないファイル・システムに対して
Q_GETQUOTA,
Q_SETQUOTA,
Q_SETUSE,
Q_SETQLIM
のいずれかの要求がなされた。
準拠
BSD
関連項目
quota(1),
getrlimit(2),
setrlimit(2),
ulimit(3),
quotacheck(8),
quotaon(8)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:57 GMT, November 19, 2007