bionic (2) fsync.2.gz

Provided by: manpages-pl-dev_0.7-1_all bug

NAZWA

       fsync, fdatasync - synchronizacja pełnego wewnątrzrdzeniowego stanu pliku z zapisanym na dysku

SKŁADNIA

       #include <unistd.h>

       int fsync(int fd);

       int fdatasync(int fd);

OPIS

        Uwaga! To tłumaczenie może być nieaktualne!

       fsync kopiuje wszystkie wewnątrzrdzeniowe części pliku na dysk i czeka na zgłoszenie przez urządzenie, że
       wszystkie  dane  znajdują  się  na  trwałym  nośniku.   Aktualizuje  również  informacje  statystyczne  o
       metadanych.  Nie  gwarantuje, że wpis w katalogu zawierający informacje o pliku również zostanie zapisany
       na dysku. Aby to osiągnąć, wymagane jest jawne wywołanie fsync dla deskryptora katalogu.

       fdatasync robi to samo, co fsync, lecz zapisuje jedynie dane  użytkownika,  bez  metadanych,  takich  jak
       mtime czy atime.

WARTOŚĆ ZWRACANA

       Po pomyślnym zakończeniu zwracane jest zero. Po błędzie zwracane jest -1 i odpowiednio ustawiane errno.

BŁĘDY

       EBADF  fd nie jest prawidłowym deskryptorem pliku otwartego do zapisu.

       EROFS, EINVAL
              fd jest powiązany ze specjalnym plikiem, który nie wspiera synchronizacji.

       EIO    Pojawił się błąd podczas synchronizacji.

UWAGI

       W  sytuacji,  gdy  twardy  dysk  ma  włączone  buforowanie zapisów, dane mogą w rzeczywistości nie zostać
       zapisane na trwałym nośniku do chwili powrotu z fsync/fdatasync.

       Gdy system plików ext2 jest zamontowany z opcją sync, wpisy w katalogach  są  również  jawnie  zapisywane
       przez fsync.

       W  kernelach  przed  2.4,  fsync  na  dużych plkach mogło być niewydajne.  Alternatywą mogło być używanie
       znacznika O_SYNC dla open(2).

ZGODNE Z

       POSIX.1b (wcześniej POSIX.4)

ZOBACZ TAKŻE

       bdflush(2), open(2), sync(2), mount(8), update(8), sync(8)

INFORMACJE O TŁUMACZENIU

       Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne.
       W  razie  zauważenia  różnic  między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub
       funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:

              man --locale=C 2 fsync

       Prosimy  o  pomoc  w  aktualizacji  stron  man  -   więcej   informacji   można   znaleźć   pod   adresem
       http://sourceforge.net/projects/manpages-pl/.