ИМЯ¶
bdflush - запустить,
активизировать
или
настроить
демона
записи
буферов кэша
ОБЗОР¶
int bdflush(int func, long *address);
int bdflush(int func, long data);
ОПИСАНИЕ¶
bdflush запускает,
активизирует
или
настраивает
демона
записи
буферов
кэша.
Системный
вызов
bdflush
может быть
выполнен
только
суперпользователем
root.
Если
аргумент
func
отрицателен
или равен
нулю, а демон
ещё не был
запущен, то
bdflush запускает
демона и не
возвращает
управления.
Если
аргумент
func
равен 1, то
некоторые
"грязные" (dirty)
буфера
записываются
на диск.
Если
аргумент
func
равен двум
или более, и
является
чётным
числом
(младший бит
равен нулю),
то аргумент
address является
адресом в
виде
длинного
слова, и по
этому адресу
возвращается
для
вызываюшего
процесса
параметр
настройки с
номером (
func-2)/2
.
Если
аргумент
func
равен трём
или более и
является
нечётным
числом
(младший бит
равен
единице), то
аргумент
data
является
длинным
словом, и
ядро
устанавливает
в это
значение
параметр
настройки с
номером (
func-3)/2
.
Набор
параметров и
разрешённых
диапазонов
их значений
определяется
в файле
fs/buffer.c в
исходных
текстах
ядра.
ВОЗВРАЩАЕМОЕ
ЗНАЧЕНИЕ¶
Если
аргумент
func
отрицателен
или равен
нулю, и демон
запускается
успешно, то
bdflush не
возвращает
управление.
В противном
случае
возвращается
ноль в
случае
успеха, а -1 -- в
случае
ошибке, при
этом
errno
устанавливается
в
соответствующее
значение.
ОШИБКИ¶
- EPERM
- Вызвавший
не является
суперпользователем.
- EFAULT
- address
указывает
за пределы
доступного
адресного
пространства.
- EBUSY
- Попытка
запустить
демона,
который уже
запущен.
- EINVAL
- Попытка
прочитать
или
записать
параметр с
неверным
номером, или
записать
неверное
значение.
СООТВЕТСТВИЕ
СТАНДАРТАМ¶
bdflush является
специфичным
для Linux и не
должен
использоваться
в
программах,
которые
должны быть
переносимы.
СМОТРИ
ТАКЖЕ¶
fsync(2),
sync(2),
update(8),
sync(8).
ПЕРЕВОД¶
Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 1999