Scroll to navigation

sync(2) System Calls Manual sync(2)

NUME

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

BIBLIOTECA

Biblioteca C standard (libc, -lc)

REZUMAT

#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:

descriptor-fișier nu este un descriptor de fișier valid.
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.
Spațiul pe disc a fost epuizat în timpul sincronizării.
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 (de exemplu, POSIX.1-2001), 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

POSIX.1-2008.
Linux.

ISTORIC

POSIX.1-2001, SVr4, 4.3BSD.
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 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.

30 martie 2023 Pagini de manual de Linux 6.05.01