Provided by: manpages-pl-dev_4.23.1-1_all bug

NAZWA

       sync, syncfs - zrzuca bufory systemu pliku na dysk

BIBLIOTEKA

       Standardowa biblioteka C (libc, -lc)

SKŁADNIA

       #include <unistd.h>

       void sync(void);

       int syncfs(int fd);

   Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

       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 ustawia errno, wskazując błąd.

BŁĘDY

       sync() zawsze kończy się pomyślnie.

       syncfs() może się nie powieść co najmniej z poniższych powodów:

       EBADF  fd nie jest prawidłowym deskryptorem pliku.

       EIO    Wystąpił  błąd  podczas  synchronizacji.  Błąd może odnosić się do danych zapisywanych do jakiegoś
              pliku w systemie plików albo do metadanych powiązanych z samym systemem plików.

       ENOSPC Wyczerpano miejsce na dysku podczas synchronizacji.

       ENOSPC
       EDQUOT Dane zapisano do pliku na NFS lub na  innym  systemie  plików,  który  nie  przydziela  miejsca  w
              momencie  wywołania systemowego write(2) i któryś z poprzednich zapisów nie powiódł się ze względu
              na brak miejsca na dysku.

WERSJE

       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.

STANDARDY

       sync() POSIX.1-2008.

       syncfs()
              Linux.

HISTORIA

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

       syncfs()
              Linux 2.6.39, glibc 2.14.

       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.

       W głównej gałęzi jądra, w wersjach wcześniejszych niż Linux 5.8, syncfs()  zawodziło  tylko,  gdy  podano
       nieprawidłowy deskryptor pliku (EBADF). Od Linuksa 5.8, syncfs() zgłosi błąd również wówczas, gdy nie uda
       się zapisać jednego lub więcej i-węzłów, od ostatniego wywołania syncfs().

USTERKI

       Przed  Linuksem 1.3.20, Linux nie czekał na zakończenie operacji wejścia/wyjścia przed powróceniem z tego
       wywołania systemowego.

ZOBACZ TAKŻE

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

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>,  Robert  Luberda <robert@debian.org> i Michał Kułach
       <michal.kulach@gmail.com>

       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.

Linux man-pages 6.8                              2 maja 2024 r.                                          sync(2)