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
Remarque : depuis Linux 2.6, cette appel système est obsolète et ne fait rien. Il est susceptible de disparaître lors d'une prochaine version du noyau. Aujourd'hui, la tâche réalisée par bdflush() est traitée par le thread noyau pdflush. bdflush() démarre, vide ou ajuste le démon bdflush (buffer-dirty-flush). Seul un processus privilégié (c'est-à-dire 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 de validité sont définis dans les sources du noyau Linux, 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'a 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)

COLOPHON
Cette page fait partie de la publication 3.70 du projet man-pages Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION
Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <http://manpagesfr.free.fr/> (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian (2006-2009).

Veuillez signaler toute erreur de traduction en écrivant à <perkamon-fr@traduc.org>.

Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande « LC_ALL=C man <section> <page_de_man> ».