sync(2)

NUME
sync, syncfs - transferă conținutul cache-urilor sistemului de fișiere pe disc

BIBLIOTECA
Biblioteca C standard (libc, -lc)

SINOPSIS
#include <unistd.h>

void sync(void);

int syncfs(int fd);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

sync():
    _XOPEN_SOURCE >= 500
        || /* Începând cu glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE

syncfs():
    _GNU_SOURCE

DESCRIERE
sync() face ca toate modificările în așteptare ale metadatelor din sistemul de fișiere și ale datelor din fișierele cache să fie scrise în sistemele de fișiere subiacente.

syncfs() este ca și sync(), dar sincronizează doar sistemul de fișiere care conține fișierul la care se face referire prin descriptorul de fișier deschis fd.

VALOAREA RETURNATĂ
syncfs() returnează 0 în caz de succes; în caz de eroare, returnează -1 și configurează errno pentru a indica eroarea.

ERORI-IEȘIRE
sync() reușește întotdeauna.

syncfs() can fail for at least the following reasons:

EBADF
    descriptor-fișier nu este un descriptor de fișier valid.

EIO S-a produs o eroare în timpul sincronizării. Această eroare se poate referi la datele scrise în orice fișier din sistemul de fișiere sau la metadatele legate de sistemul de fișiere în sine.

ENOSPC
    Spațiul pe disc a fost epuizat în timpul sincronizării.

ENOSPC
EDQUOT
    Datele au fost scrise într-un fișier pe NFS sau pe un alt sistem de fișiere care nu alocă spațiu în momentul unui apel de sistem write(2), iar o scriere anterioară a eșuat din cauza spațiului de stocare insuficient.

VERSIUNI
În conformitate cu specificațiile standard (adică, POSIX.1), sync() programează scrierile, dar poate returna înainte ca scrierea efectivă să fie efectuată. Cu toate acestea, Linux așteaptă finalizarea I/O și, prin urmare, sync() sau syncfs() oferă aceleași garanții ca fsync() apelat pe fiecare fișier din sistem sau, respectiv, sistem de fișiere.

STANDARDE

sync()
    POSIX.1-2024.

syncfs()
    Linux.

ISTORIC

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

syncfs()
    Linux 2.6.39, glibc 2.14.

Începând cu glibc 2.2.2.2, prototipul Linux pentru sync() este cel enumerat mai sus, în conformitate cu diversele standarde. În glibc 2.2.1 și anterior, era „int sync(void)”, iar sync() returna întotdeauna 0.

În versiunile de nucleu din linia principală de dezvoltare anterioare la Linux 5.8, syncfs() va eșua numai atunci când i se transmite un descriptor de fișier greșit (EBADF). Începând cu Linux 5.8, syncfs() va raporta, de asemenea, o eroare dacă unul sau mai multe noduri nu au reușit să fie rescrise de la ultimul apel syncfs().

ERORI
Înainte de Linux 1.3.20, Linux nu aștepta finalizarea In/Ieș înainte de a returna.

CONSULTAȚI ȘI
sync(1), fdatasync(2), fsync(2)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.