bdflush(2) startet und stellt den »buffer-dirty-flush«-Daemon ein, gibt

Ü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-Capability 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 der Linux-Kernel-Quelltexdatei 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-Capability.

Seit Glibc 2.23 unterstützt Glibc diesen veralteten Systemaufruf nicht mehr.

KONFORM ZU

Die Funktion bdflush() ist Linux-spezifisch und sollte nicht für portable Programme verwendet werden.

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 4.06 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

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 <[email protected]>.