sync(2) System Calls Manual sync(2) BEZEICHNUNG sync, syncfs - Zwischenspeicher der Dateisysteme auf die Festplatte schreiben BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include void sync(void); int syncfs(int dd); Mit Glibc erforderliche Feature-Test-Makros (siehe feature_test_macros(7)): sync(): _XOPEN_SOURCE >= 500 || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _BSD_SOURCE syncfs(): _GNU_SOURCE BESCHREIBUNG sync() bewirkt, dass alle anhangenden Anderungen an Dateisystemmetadaten und zwischengespeicherten Inhalten von Dateien auf die unterliegenden Dateisysteme geschrieben werden. syncfs() verhalt sich wie sync(), synchronisiert aber nur das Dateisystem, das die Datei enthalt, auf die der offene Dateideskriptor dd verweist. RUCKGABEWERT syncfs() gibt bei Erfolg 0 zuruck. Bei Fehlern gibt es -1 zuruck und setzt errno, um den Fehler anzuzeigen. FEHLER sync() ist immer erfolgreich. syncfs() kann mindestens wegen der folgenden Grunde fehlschlagen: EBADF dd ist kein zulassiger Dateideskriptor. EIO Wahrend der Synchronisierung trat ein Fehler auf. Dieser Fehler kann in den in eine beliebige Datei auf dem Dateisystem geschriebenen Daten oder in den Metadaten des Dateisystems selbst liegen. ENOSPC Wahrend der Synchronisierung war der Plattenplatz ausgeschopft. ENOSPC EDQUOT Die Daten wurden in eine Datei auf einem NFS- oder einem anderen Dateisystem geschrieben, welches zum Zeitpunkt des write(2)-Systemaufrufs keinen Plattenplatz zugewiesen hat und vorherige Schreibvorgange wegen unzureichenden Plattenplatzes fehlschlugen. VERSIONEN Nach den Vorgaben der Standards (z.B. POSIX.1-2001) kann sync() den Schreibvorgang initiieren, aber vor dem eigentlichen Schreibvorgang zuruckkehren. Allerdings wartet Linux auf den Abschluss der E/A und daher stellen sync() und syncfs() die gleichen Garantien wie der Aufruf von fsync() nach jeder Datei im System oder entsprechend Dateisystem bereit. STANDARDS sync() POSIX.1-2008. syncfs() Linux. GESCHICHTE sync() POSIX.1-2001, SVr4, 4.3BSD. syncfs() Linux 2.6.39, Glibc 2.14. Seit Glibc 2.2.2 hat der Linux-Prototyp fur 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 zuruck. In Mainline-Linux-Versionen vor 5.8 schlagt syncfs() nur dann fehl, wenn ein schlechter Dateideskriptor (EBADF) ubergeben wurde. Seit Linux 5.8 meldet syncfs() auch einen Fehler, wenn das Zuruckschreiben eines oder mehrerer Inodes seit dem letzten syncfs()-Systemaufruf fehlschlug. FEHLER Vor Version 1.3.20 wartete Linux vor der Ruckkehr nicht auf den Abschluss der E/A. SIEHE AUCH sync(1), fdatasync(2), fsync(2) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Wolfgang Jung , Martin Eberhard Schauer , Mario Blattermann und Dr. Tobias Quathamer erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.06 31. Oktober 2023 sync(2)