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

名称
ライブラリ
書式
解説
戻り値
エラー
関連項目
バグ
歴史

jman



Time: 07:06:29 GMT, January 12, 2009