plucky (2) sync.2.gz

Provided by: manpages-pl-dev_4.25.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 ⟨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⟩.