Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       bdflush - запускает, сбрасывает на диск или настраивает службу записи буферов кэша

СИНТАКСИС

       #include <sys/kdaemon.h>

       [[deprecated]] int bdflush(int func, long *address);
       [[deprecated]] int bdflush(int func, long data);

ОПИСАНИЕ

       Замечание:  Начиная  с  Linux 2.6, данный системный вызов считается устаревшим и ничего не
       делает. Вероятно, он  будет  удалён  в  будущих  версиях  ядра.  Сейчас  задачу  bdflush()
       выполняет нить ядра pdflush.

       bdflush() запускает, сбрасывает на диск или настраивает службу записи буферов кэша. Только
       процесс с определёнными правами (с мандатом CAP_SYS_ADMIN) может вызвать bdflush().

       Если значение func отрицательно или 0, и служба не запущена, то bdflush() запускает службу
       и не возвращает управление.

       Если значение func равно 1, то некоторые «грязные» (dirty) буферы записываются на диск.

       Если  значение func равно 2 или более и чётно (младший бит равен 0), то в address задаётся
       адрес ячейки размером с длинное слово, и по  этому  адресу  возвращается  для  вызывающего
       процесса параметр настройки с номером (func-2)/2.

       Если  значение  func  равно 3 или более и не чётно (младший бит равен 1), то аргумент data
       является длинным словом, и ядро устанавливает в это значение параметр настройки с  номером
       (func-3)/2.

       Набор  параметров  и  разрешённых  диапазонов  их  значений  определён в файле fs/buffer.c
       исходного кода ядра Linux.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Если аргумент func отрицателен или равен нулю, и служба запускается успешно, то  bdflush()
       не  возвращает управление. В противном случае при успешном запуске возвращается ноль, и -1
       в случае ошибки, при этом errno устанавливается в соответствующее значение.

ОШИБКИ

       EBUSY  Попытка запустить службу, которая уже запущена.

       EFAULT address указывает за пределы доступного адресного пространства.

       EINVAL Попытка прочитать или записать параметр с неверным номером, или  записать  неверное
              значение.

       EPERM  Вызывающий процесс не имеет мандата CAP_SYS_ADMIN.

ВЕРСИИ

       Since glibc 2.23, glibc no longer supports this obsolete system call.

СТАНДАРТЫ

       Вызов  bdflush()  присутствует  только  в  Linux  и не должен использоваться в переносимых
       программах.

СМ. ТАКЖЕ

       sync(1), fsync(2), sync(2)

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства    был    сделан    Artyom    Kunyov
       <artkun@guitarplayer.ru>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy Ovchinnikov
       <dmitriyxt5@gmail.com>,    Dmitry     Bolkhovskikh     <d20052005@yandex.ru>,     ITriskTI
       <ITriskTI@gmail.com>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы  обнаружите  ошибки  в  переводе этой страницы руководства, пожалуйста, отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.