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:

EBADF
bb is geen geldige bestandsbeschrijving.
EIO
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.
ENOSPC
De schijfruimte raakte uitgeput tijdens het synchroniseren.
ENOSPC, EDQUOT
Data werd geschreven naar bestanden op een NFS of een ander bestandssysteem dat geen ruimte reserveerde op het tijdstip van de write(2) systeem aanroep, en een vorige schrijfactie faalde vanwege niet voldoende opslag ruimte.

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.11 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