Manpages

名 前

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)