Provided by: manpages-pl-dev_4.15.0-9_all bug

NAZWA

       sync, syncfs - zrzucenie buforów systemów plików na dysk

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
               || /* Wersje 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() pojawił się w Linuksie 2.6.39; wsparcie biblioteczne zostało dodane w wersji 2.14
       biblioteki glibc.

ZGODNE Z

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

       Przed  wersją  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)

O STRONIE

       Angielska wersja tej strony  pochodzi  z  wydania  5.13  projektu  Linux  man-pages.  Opis
       projektu,  informacje  dotyczące  zgłaszania  błędów oraz najnowszą wersję oryginału można
       znaleźć pod adresem https://www.kernel.org/doc/man-pages/.

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
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.