table of contents
- bookworm 1:4.18.1-1
- bookworm-backports 1:4.22.0-1~bpo12+1
sync(2) | System Calls Manual | sync(2) |
NAZWA¶
sync, syncfs - zrzucenie buforów systemów plików na dysk
BIBLIOTEKA¶
Standardowa biblioteka C (libc, -lc)
SKŁADNIA¶
#include <unistd.h>
void sync(void);
int syncfs(int fd);
sync():
_XOPEN_SOURCE >= 500
|| /* Od glibc 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _BSD_SOURCE
syncfs():
_GNU_SOURCE
OPIS¶
sync() wymusza fizyczne zapisanie w systemach plików wszystkich oczekujących modyfikacji metadanych systemów plików i zbuforowanych danych plików.
syncfs() jest podobny do sync(), ale synchronizuje tylko system plików zawierający plik, do którego odnosi się otwarty deskryptor pliku fd.
WARTOŚĆ ZWRACANA¶
Po pomyślnym zakończeniu syncfs() zwraca zero, po błędzie zwraca -1 i odpowiednio ustawia errno, wskazując na rodzaj błędu.
BŁĘDY¶
sync() zawsze kończy się pomyślnie.
syncfs() can fail for at least the following reasons:
- EBADF
- fd nie jest prawidłowym deskryptorem pliku.
- EIO
- An error occurred during synchronization. This error may relate to data written to any file on the filesystem, or on metadata related to the filesystem itself.
- ENOSPC
- Disk space was exhausted while synchronizing.
- ENOSPC, EDQUOT
- Data was written to a file on NFS or another filesystem which does not allocate space at the time of a write(2) system call, and some previous write failed due to insufficient storage space.
WERSJE¶
syncfs() first appeared in Linux 2.6.39; library support was added in glibc 2.14.
STANDARDY¶
sync(): POSIX.1-2001, POSIX.1-2008, SVr4, 4.3BSD.
syncfs() jest specyficzne dla Linuksa.
UWAGI¶
Począwszy od glibc 2.2.2 prototyp wywołania sync() w Linuksie wygląda jak powyżej, zgodnie z różnymi standardami. W wersji 2.2.1 i wcześniejszych biblioteki glibc było to "int sync(void)", a sync() zawsze zwracało 0.
Zgodnie ze standardowymi wskazaniami (np. POSIX.1-2001), sync() szereguje zapisy, lecz może powrócić przed dokonaniem fizycznego zapisu. Mimo to Linux czeka na zakończenie operacji wejścia/wyjścia i dlatego sync() lub syncfs() dają te same gwarancje, co wywołanie fsync(2) na każdym pliku w systemie lub odpowiednio w systemie plików.
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.
BŁĘDY¶
Before Linux 1.3.20, Linux did not wait for I/O to complete before returning.
ZOBACZ TAKŻE¶
TŁUMACZENIE¶
Autorami polskiego tłumaczenia niniejszej strony podręcznika są: Przemek Borys <pborys@dione.ids.pl>, Andrzej Krzysztofowicz <ankry@green.mf.pg.gda.pl> i Robert Luberda <robert@debian.org>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.
5 lutego 2023 r. | Linux man-pages 6.03 |