BDFLUSH(2)

NOM
bdflush - Démarrer, vider, ajuster le démon buffer-dirty-flush

SYNOPSIS
#include <sys/kdaemon.h>
int bdflush(int func, long *address);
int bdflush(int func, long data);

DESCRIPTION
bdflush() démarre, vide ou ajuste le démon bdflush (buffer-dirty-flush). Seul un processus privilégié (un qui possède la capacité CAP_SYS_ADMIN) peut appeler bdflush().

Si func est négatif ou nulle, et si aucun démon n'a démarré, alors bdflush() bascule en fonctionnement démon, et ne revient pas.

Si func vaut 1, les tampons remplis sont écrits sur le disque.

Si func vaut 2 ou plus et est paire (bit poids faible à 0), alors address correspond à l'adresse d'un mot long et le paramètre numéro (func-2)/2 est renvoyé à cette adresse.

Si func vaut 3 ou plus et est impair (bit poids faible à 1), alors data est un mot long et le noyau écrit cette valeur dans le paramètre numéro (func-3)/2.

Le jeu de paramètres, leurs valeurs, et leurs intervalles légaux sont définis dans les sources du noyau, dans le fichier fs/buffer.c.

VALEUR RENVOYÉE
Si func est négative ou nulle, et si le démon démarre correctement, bdflush() ne revient pas. Autrement, la valeur renvoyée vaut 0 en réussite et -1 en échec auquel cas errno contient le code d'erreur.

ERREURS

EBUSY
    On tente d'exécuter le code du démon après qu'un autre processus l'ait déjà démarré.

EFAULT
    address pointe en dehors de l'espace d'adressage accessible.

EINVAL
    Numéro de paramètre invalide, ou écriture d'une valeur invalide dans le paramètre.

EPERM
    L'appelant n'a pas la capacité CAP_SYS_ADMIN.

CONFORMITÉ
bdflush() est spécifique à Linux et ne doit pas être employé dans des programmes destinés à être portables.

VOIR AUSSI
fsync(2), sync(2), sync(8), update(8)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 16 octobre 1996 et révisée le 22 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=Cn man 2 bdflush ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.