bdflush - startet und stellt den »buffer-dirty-flush«-Daemon ein,
gibt Puffer frei
#include <sys/kdaemon.h>
[[veraltet]] int bdflush(int Funk, long *Adresse);
[[veraltet]] int bdflush(int Funk, long Daten);
Anmerkung: Seit Linux 2.6 ist dieser Systemaufruf missbilligt und hat
keine Funktion mehr. Wahrscheinlich wird er in einer zukünftigen
Kernelveröffentlichung wegfallen. Heutzutage wird die Aufgabe, die von
bdflush() durchgeführt wurde, vom Kernel-Thread
pdflush
bearbeitet.
bdflush() startet den »buffer-dirty-flush«-Daemon, stellt
ihn ein und veranlasst die Speicherung der Daten von veränderten
Puffern (dirty buffers). Nur ein privilegierter Prozess (er muss über
die
CAP_SYS_ADMIN-Capability verfügen) darf
bdflush()
ausführen.
Wenn
Funk negativ oder 0 ist und kein Daemon gestartet wurde, wechselt
bdflush() in den Daemon-Modus und kehrt nicht mehr zurück.
Wenn
Funk 1 ist, werden einige veränderte Puffer auf die Platte
geschrieben.
Wenn
Funk 2 oder größer und gerade ist (das niedrigste Bit
0 ist), dann ist
Adresse die Adresse eines Long Words und der
Einstell-Parameter Nummer (
Funk-2)/2 wird dem Aufrufenden an dieser
Adresse zurückgeliefert.
Wenn
Funk 3 oder größer und ungerade ist (das niedrigste
Bit ist 1), dann ist
Daten ein Long Word und der Kernel setzt den
Einstell-Parameter mit der Nummer (
Funk-3)/2 auf diesen Wert.
Mögliche Parameter, ihre Werte und gültige Wertebereiche sind in
der Linux-Kernel-Quelltexdatei
fs/buffer.c definiert.
Wenn
Funk 0 oder negativ ist und der Daemon erfolgreich gestartet wurde,
kehrt
bdflush nicht wieder zurück. Ansonsten wird bei Erfolg 0
und -1 bei Fehlern zurückgegeben.
errno wird gesetzt, um den
Fehler anzuzeigen.
- EBUSY
- Es wurde versucht, den Daemon-Code aufzurufen, nachdem ihn
schon ein anderer Prozess aufgerufen hat.
- EFAULT
-
Adresse liegt außerhalb des vom Programm
adressierbaren Speicherbereiches.
- EINVAL
- Es wurde versucht, eine ungültige Parameternummer zu
lesen oder zu schreiben oder einem Parameter einen ungültigen Wert
zuzuweisen.
- EPERM
- Dem aufrufenden Programm fehlt die
CAP_SYS_ADMIN-Capability.
Seit Glibc 2.23 unterstützt Glibc diesen veralteten Systemaufruf nicht
mehr.
Die Funktion
bdflush() ist Linux-spezifisch und sollte nicht für
portable Programme verwendet werden.
sync(1),
fsync(2),
sync(2)
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze
<
[email protected]>, Martin Eberhard Schauer
<
[email protected]> und Mario Blättermann
<
[email protected]> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU
General Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer