.\" -*- coding: UTF-8 -*- .\" Copyright 1993 Rickard E. Faith (faith@cs.unc.edu) and .\" and Copyright 2006 Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Modified 21 Aug 1994 by Michael Chastain : .\" Removed note about old libc (pre-4.5.26) translating to 'sync'. .\" Modified 15 Apr 1995 by Michael Chastain : .\" Added `see also' section. .\" Modified 13 Apr 1996 by Markus Kuhn .\" Added remarks about fdatasync. .\" Modified 31 Jan 1997 by Eric S. Raymond .\" Modified 18 Apr 2001 by Andi Kleen .\" Fix description to describe what it really does; add a few caveats. .\" 2006-04-28, mtk, substantial rewrite of various parts. .\" 2012-02-27 Various changes by Christoph Hellwig .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fsync 2 "2. Mai 2024" "Linux man\-pages 6.8" .SH BEZEICHNUNG fsync, fdatasync \- den gepufferten Dateiinhalt mit einem Datenträger synchronisieren .SH BIBLIOTHEK Standard\-C\-Bibliothek (\fIlibc\fP, \fI\-lc\fP) .SH ÜBERSICHT .nf \fB#include \fP .P \fBint fsync(int \fP\fIdd\fP\fB);\fP .P \fBint fdatasync(int \fP\fIdd\fP\fB);\fP .fi .P .RS -4 Mit Glibc erforderliche Feature\-Test\-Makros (siehe \fBfeature_test_macros\fP(7)): .RE .P .nf \fBfsync\fP(): Glibc 2.16 und neuer: Es müssen keine Feature\-Test\-Makros definiert werden Glibc bis zu einschließlich 2.15: _BSD_SOURCE || _XOPEN_SOURCE || /* Seit Glibc 2.8: */ _POSIX_C_SOURCE >= 200112L .fi .P \fBfdatasync\fP(): .nf _POSIX_C_SOURCE >= 199309L || _XOPEN_SOURCE >= 500 .fi .SH BESCHREIBUNG \fBfsync\fP() überträgt (»leert«) alle veränderten gepufferten Daten (d.h. geänderte Seiten des Pufferzwischenspeichers) von der Datei, auf die der Dateideskriptor \fIdd\fP weist, auf die Platte (oder ein anderes dauerhaftes Speichermedium), so dass sämtliche Änderungsinformationen sogar nach einem Absturz oder Neustart des Systems wieder hergestellt werden können. Dies beinhaltet das Schreiben oder Leeren eines Plattenzwischenspeichers, falls vorhanden. Der Aufruf blockiert bis das Gerät meldet, dass die Übertragung vollständig ist. .P Neben dem Leeren der Dateidaten leert \fBfsync\fP() auch alle Metadaten\-Informationen, die mit der Datei verknüpft sind (siehe \fBinode\fP(7)). .P Der Aufruf von \fBfsync\fP() garantiert nicht, dass der Verzeichniseintrag der Datei die Platte erreicht. Dafür wird auch ein explizites \fBfsync\fP() auf einem Dateideskriptor des Verzeichnisses benötigt. .P \fBfdatasync\fP() ist \fBfsync\fP() ähnlich, leert aber keine geänderten Metadaten, sofern diese Metadaten nicht benötigt werden, um die korrekte Handhabung einer nachfolgenden Datenabfrage zu ermöglichen. Änderungen an \fIst_atime\fP oder \fIst_mtime\fP (Zeit des letzten Zugriffs und Zeit der letzten Änderung; siehe \fBinode\fP(7)) erfordern zum Beispiel keine Leerung, da sie nicht für die korrekte Handhabung eines nachfolgenden Lesens der Daten benötigt werden. Andererseits würde die Änderung der Dateigröße (\fIst_size\fP, wie sie von \fBftruncate\fP(2) vorgenommen wird) ein Leeren der Metadaten erfordern. .P Das Ziel von \fBfdatasync\fP() ist die Verminderung der Plattenaktivität durch Anwendungen, die nicht das Synchronisieren aller Metadaten mit der Platte erfordern. .SH RÜCKGABEWERT Bei Erfolg gibt dieser Systemaufruf Null zurück. Bei einem Fehler wird \-1 zurückgegeben und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .SH FEHLER .TP \fBEBADF\fP \fIdd\fP ist kein zulässiger offener Dateideskriptor. .TP \fBEINTR\fP Die Funktion wurde durch ein Signal unterbrochen, siehe \fBsignal\fP(7). .TP \fBEIO\fP .\" commit 088737f44bbf6378745f5b57b035e57ee3dc4750 Während der Synchronisation trat ein Fehler auf. Der Fehler kann sich auf Daten beziehen, die in einen anderen Dateideskriptor auf der gleichen Datei geschrieben wurden. Seit Linux 4.13 werden Fehler vom Zurückschreiben an alle Dateideskriptoren, die Daten geschrieben haben könnten, die den Fehler auslösten, berichtet. Einige Dateisystem (z.B. NFS) halten genau nach, welche Daten durch welchen Dateideskriptor gekommen sind und berichten genauer. Andere Dateisysteme (z.B. die meisten lokalen Dateisysteme) berichten Fehler an alle Dateideskriptoren, die zum Zeitpunkt der Aufzeichnung des Fehlers offen waren. .TP \fBENOSPC\fP Während der Synchronisierung war der Plattenplatz ausgeschöpft. .TP \fBEROFS\fP .TQ \fBEINVAL\fP \fIdd\fP ist mit einer Spezialdatei (z.B. einer Pipe, einem FIFO oder einem Socket) verbunden, die keine Synchronisation unterstützt. .TP \fBENOSPC\fP .TQ \fBEDQUOT\fP \fIdd\fP ist an eine Datei auf einem NFS\- oder anderem Dateisystem, das keinen Platz zum Zeitpunkt des Systemaufrufs \fBwrite\fP(2) zuweist, gebunden und ein vorhergehender Schreibzugriff schlug aufgrund mangelndem Plattenplatz fehl. .SH VERSIONEN .\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L. .\" -1: unavailable, 0: ask using sysconf(). .\" glibc defines them to 1. Auf POSIX\-Systemen, auf denen \fBfdatasync\fP() verfügbar ist, ist \fB_POSIX_SYNCHRONIZED_IO\fP in \fI\fP als ein Wert größer als 0 definiert. (Siehe auch \fBsysconf\fP(3).) .SH STANDARDS POSIX.1\-2008. .SH GESCHICHTE POSIX.1\-2001, 4.2BSD. .P Bis einschließlich Linux 2.2 entspricht \fBfdatasync\fP() \fBfsync\fP() und steigert daher nicht die Leistung. .P Die \fBfsync\fP()\-Implementierungen in älteren Kerneln oder weniger benutzten Dateisystemen wissen nicht, wie Plattenzwischenspeicher geleert werden. In diesen Fällen müssen Plattenzwischenspeicher mittels \fBhdparm\fP(8) oder \fBsdparm\fP(8) deaktiviert werden, um sicheres Funktionieren zu garantieren. .P Unter AT&T UNIX System V Release 4 muss \fIdd\fP zum Schreiben geöffnet sein. Dies ist von sich aus zu der ursprünglichen BSD\-Schnittstelle inkompatibel und wird durch POSIX verboten, hat aber trotzdem in HP\-UX und AIX überlebt. .SH "SIEHE AUCH" \fBsync\fP(1), \fBbdflush\fP(2), \fBopen\fP(2), \fBposix_fadvise\fP(2), \fBpwritev\fP(2), \fBsync\fP(2), \fBsync_file_range\fP(2), \fBfflush\fP(3), \fBfileno\fP(3), \fBhdparm\fP(8), \fBmount\fP(8) .PP .SH ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Chris Leick , Mario Blättermann , Dr. Tobias Quathamer und Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .