NOMBRE¶
bdflush - inicia, vuelca, o ajusta el demonio para la limpieza de búferes
sucios o modificados
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.
bdflush es una función específica de Linux y no se debe usar en
aquellos programas que pretendan ser transportables.
VÉASE TAMBIÉN¶
fsync(2),
sync(2),
update(8),
sync(8)