table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.22.0-1~bpo12+1
- testing 4.22.0-1
- unstable 4.22.0-1
sync(2) | System Calls Manual | sync(2) |
NOME¶
sync, syncfs - svuota la cache del filesystem sul disco
LIBRARY¶
Standard C library (libc, -lc)
SINTASSI¶
#include <unistd.h>
void sync(void);
int syncfs(int fd);
sync():
_XOPEN_SOURCE >= 500
|| /* Sin da glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE
syncfs():
_GNU_SOURCE
DESCRIZIONE¶
sync() provoca la scrittura nei filesystem sottostanti di tutte le modifiche in sospeso ai metadati del file system e ai dati dei file memorizzati nella cache.
syncfs() è come sync(), ma sincronizza solo il filesystem contenente il file a cui si riferisce il descrittore di file aperto fd.
VALORE RESTITUITO¶
syncfs() ritorna 0 in caso di successo; in caso di errore, ritorna -1 e imposta errno in modo che indichi l'errore.
ERRORI¶
sync() termina sempre con successo.
syncfs() può fallire per almeno il motivo seguente:
- EBADF
- fd non è un descrittore di file valido.
- EIO
- Si è verificato un errore durante la sincronizzazione. Quest'errore può riguardare i dati scritti su qualsiasi file sul filesystem, o su metadati relativi al filesystem stesso.
- ENOSPC
- Lo spazio su disco è stato esaurito nel corso della sincronizzazione.
- ENOSPC, EDQUOT
- I dati sono stati scritti in un file su NFS o su un altro filesystem che non alloca spazio al momento di una chiamata di sistema a write(2), e alcune scritture precedenti non sono andate a buon fine per mancanza di spazio di archiviazione.
VERSIONI¶
syncfs() first appeared in Linux 2.6.39; library support was added in glibc 2.14.
STANDARDS¶
sync(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
syncfs() è specifico di Linux.
NOTE¶
A partire da glibc 2.2.2 il prototipo Linux per sync() è come elencato sopra, seguendo i vari standard. In libc4, libc5, e glibc 2.2.1 e precedenti era "int sync(void)", e sync() restituiva sempre 0.
Secondo le specifiche degli standard (per esempio, POSIX.1-2001), sync() pianifica le scritture, ma potrebbe ritornare prima che la scrittura sia stata realmente effettuata. Comunque Linux attende il completamento degli I/O, e quindi sync() o syncfs() offrono la stessa garanzia di fsync() chiamato su ogni file rispettivamente del sistema o del file system.
In mainline kernel versions prior to Linux 5.8, syncfs() will fail only when passed a bad file descriptor (EBADF). Since Linux 5.8, syncfs() will also report an error if one or more inodes failed to be written back since the last syncfs() call.
BUG¶
Before Linux 1.3.20, Linux did not wait for I/O to complete before returning.
VEDERE ANCHE¶
TRADUZIONE¶
La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it> e Marco Curreli <marcocurreli@tiscali.it>
Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.
Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.
5 febbraio 2023 | Linux man-pages 6.03 |