BEZEICHNUNG¶
bdflush - startet und stellt den »buffer-dirty-flush«-Daemon ein, gibt
Puffer frei
ÜBERSICHT¶
#include <sys/kdaemon.h>
int bdflush(int func, long *address);
int bdflush(int func, long data);
BESCHREIBUNG¶
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, legt dessen
Betriebsart fest und veranlasst die Speicherung der Daten von veränderten
Puffern (dirty buffers). Nur ein privilegierter Prozess (er muss über die
CAP_SYS_ADMIN-Fähigkeit verfügen) darf
bdflush()
ausführen.
Wenn
func negativ oder 0 ist und kein Daemon gestartet wurde, wechselt
bdflush() in den Daemon-Modus und behält diesen bei.
Wenn
func 1 ist, werden einige veränderte Puffer auf die Platte
geschrieben.
Wenn
func 2 oder größer und gerade ist (das Least Significant
Bit ist 0), dann ist
address die Adresse eines Long Words und der
Einstell-Parameter Nummer (
func-2)/2 wird nach
address
geschrieben.
Wenn
func 3 oder größer und ungerade ist (das Least Significant
Bit ist 1), dann ist
data ein Long Word und der Kernel setzt den
Einstell-Parameter mit der Nummer (
func-3)/2 auf diesen Wert.
Mögliche Parameter, ihre Werte und gültige Wertebereiche sind in den
Kernel-Quelltexten in der Datei
fs/buffer.c definiert.
RÜCKGABEWERT¶
Wenn
func 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.
FEHLER¶
- EBUSY
- Es wurde versucht, den Daemon-Code aufzurufen, nachdem ihn
schon ein anderer Prozess aufgerufen hat.
- EFAULT
- Die Adresse address 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-Fähigkeit.
Die Funktion
bdflush() ist Linux-spezifisch und sollte nicht für
portable Programme verwendet werden.
SIEHE AUCH¶
fsync(2),
sync(2),
sync(8),
update(8)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Schulze
<joey@infodrom.org> und Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de> 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 <debian-l10n-german@lists.debian.org>.