bdflush - システムコールの説明 - Linux コマンド集 一覧表
名前
bdflush - バッファー・ダーティー・フラッシュ・デーモンを起動、フラッシュ、調整する
書式
int bdflush(int func, long *address);int bdflush(int func, long data);
説明
bdflush ()はバッファー・ダーティー・フラッシュ (buffer-dirty-flush)・ デーモン (daemon) を起動、フラッシュ (flush)、調整 (tune) する。 ( CAP_SYS_ADMIN ケーパビリティ (capability) を持つ) 特権プロセスのみが bdflush ()を呼び出すことができる。
func が負か 0 でデーモンが起動されていなれば、 bdflush ()はデーモンのコードへ入り、戻ってこない。
func が 1 ならば、 汚れた (dirty) バッファーがディスクへと書き込まれる。
func が 2 以上で偶数 (最小ビットが 0) ならば、 address にロング・ワードでアドレスを指定し、そのアドレスに ( func -2)/2 で指定された調節パラメーターが返される。
func が 3 以上で奇数 (最小ビットが 1) ならば、 data をロング・ワードで指定し、その値を ( func -3)/2で指定された調節パラメーターに設定する。
パラメーターの集合の値や正しい範囲はカーネルのソース・ファイルの fs/buffer.c に定義されている。
返り値
func が負か 0 で、デモーンの起動に成功した場合は bdflush ()は返ってこない。 そうでなければ成功した場合には 0 が返される。失敗した場合には -1 が返され、 errno にそのエラーが指示される。
エラー
- EBUSY
- 他のプロセスが既にデーモン・コードに入っているのに、入ろうと試みた。
- EFAULT
- address がアクセス可能なアドレス空間の外部を指している。
- EINVAL
- 不正なパラメーターの読み書きを試みたか、パラメーターへ不正な値を 書き込もうとした。
- EPERM
- 呼び出し元に CAP_SYS_ADMIN ケーパビリティがない。
準拠
bdflush () は Linux 特有であり移植を意図したプログラムで使用しては いけない。
関連項目
fsync
(2),
sync
(2),
sync
(8),
update
(8)