Manpages

ИМЯ

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 [AT] hsys.ru> 1999