fdatasync

FSYNC(2)                 Podręcznik programisty Linuksa                 FSYNC(2)



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



Linux 1.3.85                       2001-04-18                           FSYNC(2)