sync(2) System Calls Manual sync(2)

sync, syncfs - schrijf de bestandssysteem buffer naar schijf

Standard C bibliotheek (libc, -lc)

#include <unistd.h>
void sync(void);
int syncfs(int bb);
Feature Test Macro´s eisen 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 werd geschreven naar een bestand 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.

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.

POSIX.1-2008.
Linux.

POSIX.1-2001, SVr4, 4.3BSD.
Linux 2.6.39, glibc 2.14.

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.

In de hoofd kernel versies voor Linux 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 Linux 1.3.20 wachtte Linux niet op voltooiing van de Invoer/Uitvoer voor terugkeer.

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

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.

2 mei 2024 Linux man-pages 6.8