sync(2) commit filesystem caches to disk

Other Alias

syncfs

ÜBERSICHT

#include <unistd.h>

void sync(void);

int syncfs(int fd);

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

sync():

_XOPEN_SOURCE >= 500
    || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE
    || /* Glibc-Versionen <= 2.19: */ _BSD_SOURCE

syncfs():

_GNU_SOURCE

BESCHREIBUNG

sync() causes all pending modifications to file system metadata and cached file data to be written to the underlying filesystems.

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(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

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.

According to the standard specification (e.g., POSIX.1-2001), sync() schedules the writes, but may return before the actual writing is done. However Linux waits for I/O completions, and thus sync() or syncfs() provide the same guarantees as fsync called on every file in the system or filesystem respectively.

FEHLER

Before version 1.3.20 Linux did not wait for I/O to complete before returning.

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 Wolfgang Jung <[email protected]>, Martin Eberhard Schauer <[email protected]>, Dr. Tobias Quathamer <[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]>.