QUOTACTL
Section: System Calls (2)
索引
jman
BSD mandoc
索引
名称
quotactl
- ファイルシステム割り当て制限を操作する
索引
ライブラリ
Lb libc
索引
書式
In sys/types.h
In ufs/ufs/quota.h
Ft int
Fn quotactl const char *path int cmd int id void *addr
索引
解説
Fn quotactl
システムコールは、
ファイルシステムの割り当て制限を有効や無効にしたり、操作します。
Fa cmd
で与えられた割り当て制限制御コマンドは、
Fa id
で指定されたユーザと
Fa path
で指定されたファイルに対して動作します (注:
Fa cmd
の値を明確に表すために、
In ufs/ufs/quota.h
で定義されている QCMD マクロを使用すべきです)。
オプションとして各コマンド固有のデータ構造体のアドレスを
Fa addr
に指定できます。
これがどう解釈されるかは各コマンド毎に後述します。
現時点で、割り当て制限は
``ufs''
ファイルシステムについてのみサポートされています。
``ufs''
の場合、コマンドは主たるコマンド (後述) および
Fa id
引数の解釈方法を指示するコマンドタイプで構成されます。
コマンドタイプは、
Fa id
をユーザ識別子として解釈する (USRQUOTA) と、
グループ識別子として解釈する (GRPQUOTA) がサポートされています。
``ufs''
固有のコマンドは次のとおりです:
- Q_QUOTAON
-
Fa path
で指定されるファイルシステム用のディスク割り当て制限を有効にします。
コマンドタイプには有効にする割り当て制限の種類を指定します。
Fa addr
引数には、割り当て制限情報を取り出すファイルを指定します。
割り当て制限を記録したファイルが存在している必要があります。
このファイルは通常、
quotacheck(8)
プログラムで作成されます。
Fa id
引数は使用されません。
スーパユーザだけが割り当て制限をオンにできます。
- Q_QUOTAOFF
-
Fa path
で指定されるファイルシステムに対する、ディスク割り当て制限を無効にします。
コマンドタイプには、無効にする割り当て制限の種類を指定します。
Fa addr
引数と
Fa id
引数は使用されません。
スーパユーザだけが割り当て制限をオフにできます。
- Q_GETQUOTA
-
識別子
Fa id
で指定されるユーザまたはグループ
(どちらであるかはコマンドタイプによって決定されます)
の、ディスク割り当て制限と現在の使用状況を取得します。
Fa addr
引数は、
Fa struct dqblk
構造体
In ( ufs/ufs/quota.h
で定義されています) を指すポインタです。
- Q_SETQUOTA
-
識別子
Fa id
で指定されるユーザまたはグループ
(どちらであるかはコマンドタイプによって決定されます)
のディスク割り当て制限を設定します。
Fa addr
引数は、
Fa struct dqblk
構造体
In ( ufs/ufs/quota.h
で定義されています) を指すポインタです。
Fa dqblk
構造体の使用状況を示すフィールドは無視されます。
このシステムコールはスーパユーザだけに制限されています。
- Q_SETUSE
-
識別子
Fa id
で指定されるユーザまたはグループ
(どちらであるかはコマンドタイプによって決定されます)
のディスク使用制限を設定します。
Fa addr
引数は、
Fa struct dqblk
構造体
In ( ufs/ufs/quota.h
で定義されています) を指すポインタで、
使用状況を示すフィールドだけが使われます。
このシステムコールはスーパユーザだけに制限されています。
- Q_SYNC
-
割り当て使用状況の、ディスク上のコピーを更新します。
コマンドタイプには、どのタイプの割り当て制限を更新するかを指定します。
Fa id
引数と
Fa addr
引数は無視されます。
索引
戻り値
Rv -std quotactl
索引
エラー
Fn quotactl
システムコールは次の場合に失敗します:
- Bq Er EOPNOTSUPP
-
カーネルが
QUOTA
オプションを指定してコンパイルされていません。
- Bq Er EUSERS
-
割り当て制限のテーブルを拡張できません。
- Bq Er EINVAL
-
Fa cmd
引数またはコマンドタイプが無効です。
Q_GETQUOTA
および
Q_SETQUOTA
では、クォータはこのシステムに対して現在有効ではありません。
- Bq Er EACCES
-
Q_QUOTAON
において、割り当て制限情報ファイルがプレーンファイルではありません。
- Bq Er EACCES
-
指定されたパスには、検索が許可されていないディレクトリが含まれています。
- Bq Er ENOTDIR
-
パスの構成要素中にディレクトリ以外のものが含まれています。
- Bq Er ENAMETOOLONG
-
パス名の構成要素が 255 文字を越えているか、
またはパス名全体が 1023 文字を越えています。
- Bq Er ENOENT
-
指定されたファイルが存在しません。
- Bq Er ELOOP
-
パス名を変換するときに検出されたシンボリックリンクが多すぎます。
- Bq Er EROFS
-
Q_QUOTAON
で、割り当て制限を記録したファイルが
読取り専用ファイルシステム上にあります。
- Bq Er EIO
-
割り当て制限を記録したファイルに読み書きしている間に
I/O
(入出力) エラーが発生しました。
- Bq Er EFAULT
-
無効な
Fa addr
が指定されました。
対応する構造体をカーネルに、またはカーネルからコピーできませんでした。
- Bq Er EFAULT
-
Fa path
引数が、プロセスに割り当てられたアドレス空間の範囲外を指しています。
- Bq Er EPERM
-
特権が必要な呼び出しであったにも関わらず、
スーパユーザ以外のユーザによって呼び出されました。
索引
関連項目
quota(1),
fstab(5),
edquota(8),
quotacheck(8),
quotaon(8),
repquota(8)
索引
バグ
このシステムコールを
setrlimit(2)
および
getrlimit(2)
で提供されるリソース制限に関するインタフェースと統合する、
何らかの方法があるはずです。
索引
歴史
Fn quotactl
システムコールは
BSD 4.3 Reno
で登場しました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 戻り値
-
- エラー
-
- 関連項目
-
- バグ
-
- 歴史
-
Time: 07:06:29 GMT, January 12, 2009