bdflush (8) ( Русские man: Команды системного администрирования )
bdflush (8) ( Linux man: Команды системного администрирования )
ИМЯ
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 и не должен использоваться в
программах, которые должны быть переносимы.