名称
bdflush - 启动,刷新,或调缓冲区脏刷新守护
内容简介
int bdflush(int func, long *address) int bdflush(int func, long data) |
描述
bdflush() starts, flushes, or tunes the buffer-dirty-flush daemon. Only a privileged process (one with the%uA0CAP_SYS_ADMINꃊpability) may call%uA0bdflush().
If%uA0func%uA0is negative or 0, and no daemon has been started, then%uA0bdflush() enters the daemon code and never returns.
If%uA0func%uA0is 1, some dirty buffers are written to disk.
If%uA0func%uA0is 2 or more and is even (low bit is 0), then%uA0address%uA0is the address of a long word, and the tuning parameter numbered (func-2)/2 is returned to the caller in that address.
If%uA0func%uA0is 3 or more and is odd (low bit is 1), then%uA0data%uA0is a long word, and the kernel sets tuning parameter numbered (func-3)/2 to that value.
The set of parameters, their values, and their legal ranges are defined in the kernel source file%uA0fs/buffer.c.
返回值
If%uA0func%uA0is negative or 0 and the daemon successfully starts,%uA0bdflush() never returns. Otherwise, the return value is 0 on success and -1 on failure, with%uA0errno%uA0set to indicate the error.
错误
标签 | 描述 |
---|---|
EBUSY | An attempt was made to enter the daemon code after another process has already entered. |
EFAULT | address%uA0points outside your accessible address space. |
EINVAL | An attempt was made to read or write an invalid parameter number, or to write an invalid value to a parameter. |
EPERM | Caller does not have the%uA0CAP_SYS_ADMINꃊpability. |
遵循于
bdflush() Linux特有的,并且不应该被用在程序准备移植。