bdflush

Autres langues

Langue: ru

Autres versions - même langue

Version: 1995-04-15 (fedora - 25/11/07)

Section: 2 (Appels système)

ИМЯ

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