BDFLUSH(2)

名前
bdflush - バッファー・ダーティー・フラッシュ・デーモンを起動、フラッシュ、調整する

書式
int bdflush(int func, long *address);
int bdflush(int func, long data);

書式
bdflush はバッファー・ダーティー・フラッシュ(buffer-dirty-flush)・ デーモン(daemon)を起動、フラッシュ(flush)、調整(tune)する。 スーパー・ユーザーのみが bdflush を呼び出すことができる。

func が負かゼロでデーモンが起動されていなれば、 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 にそのエラーが指示される。

エラー

EPERM
    スーパー・ユーザー以外が呼び出した。

EFAULT
    address がアクセス可能なアドレス空間の外部を指している。

EBUSY
    他のプロセスが既にデーモン・コードに入っているのに、入ろうと試みた。

EINVAL
    不正なパラメーターの読み書きを試みたか、パラメーターへ不正な値を 書き込もうとした。

準拠
bdflush は Linux 特有であり移植を意図したプログラムで使用しては いけない。

関連項目
fsync(2), sync(2), update(8), sync(8).