BDFLUSH(2)

NOME
bdflush - inicia, descarrega, ou ajusta o daemon descarregador de buffer sujo

SINOPSE
#include <sys/kdaemon.h>

int bdflush(int func, long *address);
int bdflush(int func, long data);

Nota: Não há um wrapper do glibc para esta chamada de sistemas; veja VERSIONS.

DESCRIÇÃO
Nota: Desde o Linux 2.6, essa chamada de sistema foi descontinuada e não faz nada. É provável que desapareça completamente em uma versão futura do kernel. Atualmente, a tarefa executada por bdflush() é tratada pela thread pdflush do kernel.

bdflush() inicia, descarrega, ou ajusta o daemon descarregador de buffer sujo. Somente um processo com privilégios (um com a capacidade CAP_SYS_ADMIN) pode chamar bdflush().

Se func é negativo ou 0, e o daemon não tiver sido iniciado, então bdflush() entra o código do daemon e jamais retorna.

Se func é 1, alguns buffers sujos são escritos no disco.

Se func é 2 ou mais e é par (bit mais baixo é 0), então address é o endereço de uma palavra longa, e o parâmetro de ajuste numerado (func-2)/2 é retornado para o chamador nesse endereço.

Se func é 3 ou mais e é ímpar (bit mais baixo é 1), então data é uma palavra longa, e o kernel colocará o parâmetro de ajuste numerado (func-3)/2 para esse valor.

O conjunto de parâmetros, seus valores e seus intervalos válidos são definidos no arquivo fonte fs/buffer.c do kernel Linux.

VALOR DE RETORNO
Se func é negativo ou 0 e o daemon iniciou com sucesso, bdflush() jamais retorna. Doutra forma, o valor de retorno é 0 em caso de sucesso e -1 em caso de falha, sendo errno ajustado para indicar o erro.

ERROS

EBUSY
    Foi feita uma tentativa de entrada no código do daemon após outro processo já ter entrado.

EFAULT
    address aponta para fora de seu espaço de endereços acessíveis.

EINVAL
    Foi feita uma tentativa de ler ou escrever um número inválido de parâmetro ou de escrever um valor inválido para um parâmetro.

EPERM
    O chamador não possui a capacidade CAP_SYS_ADMIN.

VERSÕES
Desde a versão 2.23, glibc não possui mais suporte a esta chamada de sistema obsoleta.

DE ACORDO COM
bdflush() é específico para Linux e não deve ser usado em programas concebidos para serem portáveis.

VEJA TAMBÉM
sync(1), fsync(2), sync(2)

COLOFÃO
Esta página faz parte da versão 5.13 do projeto Linux man-pages. Uma descrição do projeto, informações sobre relatórios de bugs e a versão mais recente desta página podem ser encontradas em https://www.kernel.org/doc/man-pages/.

TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por Marcelo D. Beckmann <marcelobeckmann@yahoo.com>, Fábio Henrique F. Silva <fabiohfs@mail.com> e Rafael Fontenelle <rafaelff@gnome.org>.

Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 (https://www.gnu.org/licenses/gpl-3.0.html) ou posterior para as condições de direitos autorais. Nenhuma responsabilidade é aceita.

Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de discussão de tradutores (debian-l10n-portuguese@lists.debian.org).