bdflush(2) inicia, vuelca, o ajusta el demonio para la limpieza de búferes

SINOPSIS

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

DESCRIPCIÓN

bdflush inicia, limpia o ajusta el duende "bdflush". Solamente el superusuario puede llamar a bdflush.

Si func es negativo ó 0, y no se ha iniciado demonio alguno, entonces bdflush entra en el código del demonio y nunca regresa.

Si func es 1, algunos búferes sucios (modificados) se escriben en el disco.

Si func es 2 ó más y es par (el bit menos significativo es 0), entonces address es la dirección de una palabra larga y el valor del parámetro de ajuste cuyo número es (func-2)/2 se devuelve en dicha dirección.

Si func es 3 ó más e impar (el bit menos significativo es 1), entonces data es una palabra larga y el núcleo asigna dicho valor al parámetro de ajuste cuyo número es (func-3)/2

El conjunto de parámetros, sus valores y sus intervalos válidos están especificados en el fichero fs/buffer.c de los fuentes del núcleo.

VALOR DEVUELTO

Si func es negativo ó 0 y el demonio comienza satisfactoriamente, bdflush nunca regresa. En caso contrario, el valor devuelto es 0 en caso de éxito y -1 en caso de error, y a errno se le asigna el tipo de error.

ERRORES

EPERM
El que llama a esta rutina no es el superusuario.
EFAULT
La dirección address apunta afuera de su espacio de direcciones accesible.
EBUSY
Se ha intentado entrar en el código del demonio después de que otro proceso ya lo haya hecho.
EINVAL
Se ha intentado leer o escribir un número de parámetro inválido, o asignar un valor inválido a un parámetro.

CONFORME A

bdflush es una función específica de Linux y no se debe usar en aquellos programas que pretendan ser transportables.