bdflush - Démarrer, vider, ajuster le démon buffer-dirty-flush
#include <sys/kdaemon.h>
[[obsolète]] int bdflush(int func, long *address);
[[obsolète]] int bdflush(int func, long data);
Remarque : depuis Linux 2.6, cet 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égative 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 impaire (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.
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.
- 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.
Depuis la glibc 2.23, glibc ne prend plus en charge cet appel
système obsolète.
bdflush() est spécifique à Linux et ne doit pas être
employé dans des programmes destinés à être
portables.
sync(1),
fsync(2),
sync(2)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]> et David Prévot <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]