SYNC(2)

BEZEICHNUNG
sync, syncfs - schreibt zwischengespeicherte Daten auf die Festplatte

ÜBERSICHT
#include <unistd.h>

void sync(void);

int syncfs(int fd);

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

sync():
    _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

syncfs():
    _GNU_SOURCE

BESCHREIBUNG
sync() bewirkt, dass alle zwischengespeicherten Änderungen an Metadaten und Inhalten von Dateien auf die zu Grunde liegenden Dateisysteme geschrieben werden. syncfs() verhält sich wie sync(), synchronisiert aber nur das Dateisystem, das die Datei enthält, auf die der offene Dateideskriptor fd verweist.

RÜCKGABEWERT
syncfs() gibt bei Erfolg 0 zurück. Bei Fehlern gibt es -1 zurück und setzt errno, um den Fehler anzuzeigen.

FEHLER
sync() ist immer erfolgreich. syncfs() kann mindestens wegen der folgenden Gründe fehlschlagen:

EBADF
    fd ist kein zulässiger Dateideskriptor.

VERSIONEN
syncfs() erschien erstmalig in Linux 2.6.39; die Bibliotheksunterstützung wurde zu Glibc in Version 2.14 hinzugefügt.

KONFORM ZU
sync(): SVr4, 4.3BSD, POSIX.1-2001. syncfs() ist Linux-spezifisch.

ANMERKUNGEN
Seit Glibc 2.2.2 hat der Linux-Prototyp für sync() die oben beschriebene Form, die den diversen Standards folgt. In Glibc bis 2.2.1 war der Prototyp »int sync(void)« und sync() gab immer 0 zurück.

FEHLER
Nach den Vorgaben der Standards (z.B. POSIX.1-2001) kann sync() den Schreibvorgang initiieren, aber vor dem eigentlichen Schreibvorgang zurückkehren. Doch seit Version 1.3.20 wartet Linux tatsächlich. (Das garantiert aber immer noch nicht die Datenintegrität: moderne Festplatten verfügen über große Caches.)

SIEHE AUCH
bdflush(2), fdatasync(2), fsync(2), sync(1)

KOLOPHON
This page is part of release 3.80 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Wolfgang Jung <woju@keep.in-berlin.de>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de>, Tobias Quathamer <toddy@debian.org> und Mario Blättermann <mario.blaettermann@gmail.com> 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>.