SYNC(2) Linux Programmeurs Handleiding SYNC(2)

sync, syncfs - schrijf de bestandssysteem buffer naar schijf

#include <unistd.h>
void sync(void);
int syncfs(int fd);
Test Macro´s in glibc (zie feature_test_macros(7)):

sync():


_XOPEN_SOURCE >= 500
|| /* Since glibc 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _BSD_SOURCE

syncfs():


_GNU_SOURCE

sync() zorgt ervoor dat aangebrachte modificaties aan de bestandssysteem metadata en gebufferde bestand data geschreven worden naar het onderliggende bestandssysteem

syncfs() is als sync(), maar synchroniseert alleen het bestandssysteem dat het bestand aangewezen door de open bestandsbeschrijving bb bevat.

Bij succes geeft syncfs() nul terug. Bij falen wordt -1 teruggegeven en wordt errno naar behoren gezet.

sync() slaagd altijd.

syncfs() kan falen door minstens een van de volgende redenen:

bb is geen geldige bestandsbeschrijving.
Een fout opgetreden tijdens de synchronisatie. Deze fout kan betrekking hebben op de data geschreven naar elk bestand op het bestandssysteem, of op metadata gerelateerd aan het bestandssysteem zelf.
De schijfruimte raakte uitgeput tijdens het synchroniseren.
Data was written to a file on NFS or another filesystem which does not allocate space at the time of a write(2) system call, and some previous write failed due to insufficient storage space.

syncfs() verscheen voor het eerste in Linux 2.6.39; bibliotheek ondersteuning werd toegevoegd aan glibc in versie 2.14.

sync(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.

syncfs() is Linux-eigen.

Vanaf glibc 2.2.2, is het Linux prototype voor sync() zoals hierboven getoond, daarbij de diverse standaarden volgend. In glibc 2.2.1 en eerder, was het "int sync(void)" en gaf sync() altijd 0 terug.

Volgens de standaard specificatie (e.g. POSIX.1-2001) plant sync() de schrijfacties, maar mag terugkeren voordat de echte schrijfacties wordt uitgevoerd. Echter wacht Linux op voltooiing van Invoer/Uitvoer en daarom geven sync() en syncfs() dezelfde garanties als het aanroepen van fsync() op elk bestand in het respectievelijk systeem of bestandssysteem.

In de hoofd kernel versies eerder dan 5.8, zal syncfs() alleen falen als die een verkeerde bestand beschrijving (EBADF krijgt. Vanaf Linux 5.8, zal syncfs() ook een fout geven als een of meer inodes faalden om geschreven te worden sinds de laatste syncfs() aanroep.

Voor versie 1.3.20 wachtte Linux niet op voltooiing van de Invoer/Uitvoer voor terugkeer.

sync(1), fdatasync(2), fsync(2)

Deze pagina is onderdeel van release 5.13 van het Linux man-pages-project. Een beschrijving van het project, informatie over het melden van bugs en de nieuwste versie van deze pagina zijn op https://www.kernel.org/doc/man-pages/ te vinden.

De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema <joshb@xs4all.nl>, Mario Blättermann <mario.blaettermann@gmail.com> en Luc Castermans <luc.castermans@gmail.com>

Deze vertaling is vrije documentatie; lees de GNU General Public License Version 3 of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID.

Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar debian-l10n-dutch@lists.debian.org.

22 maart 2021 Linux