Linux |
CentOS 4.8 |
|
bdflush(2) |
bdflush − Démarrer, vider, ajuster le démon buffer-dirty-flush. |
int bdflush(int func, long *address); int bdflush(int func, long data); |
bdflush démarre, vide ou ajuste le démon bdflush (buffer-dirty-flush). Seul le Super−User 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 buffers 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. |
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 si la fonction réussit et −1 si elle échoue auquel cas errno contient le code d’erreur. |
EPERM |
L’appelant n’est pas le Super−User. |
||
EFAULT |
address pointe en dehors de l’espace d’adressage accessible. |
||
EBUSY |
On tente d’exécuter le code du démon après qu’un autre processus l’ait déjà démarré. |
||
EINVAL |
Numéro de paramètre invalide, ou écriture d’une valeur invalide dans le paramètre. |
La traduction de cette page de manuel est un peu approximative, l’utilisation de cet appel système n’est pas très claire pour moi. Il faudrait qu’une personne familiarisée avec bdflush la reprenne. |
bdflush est spécifique à Linux et ne doit pas être employé dans des programmes destinés à être portables. |
fsync(2), sync(2), update(8), sync(8). |
Christophe Blaess, 1997. |
bdflush(2) |