Provided by:
manpages-pl-dev_20060617-1_all 
NAZWA
fdatasync - synchronizuje rdzeniowe zawartości plików z zawartością na
dysku.
SKŁADNIA
#include <unistd.h>
#ifdef _POSIX_SYNCHRONIZED_IO
int fdatasync(int fd);
#endif
OPIS
fdatasync wypróżnia wszystkie bufory pliku na dysk (zanim nastąpi
powrót z tej funcji systemowej). Robi to co fsync lecz nie musi
odnawiać metadanych takich jak czas dostępu.
Aplikacje, które dostają się do baz danych, lub plików z logami często
dopisują niewielką ilość danych (np. linijkę do pliku z logiem), a
następnie natychmiast wywołują fsync, aby zapewnić fizyczny zapis
danych na dysk. Niestety, fsync zawsze inicjuje dwie operacje: jedną
dla nowo zapisanych danych i drugą w celu odnowienia czasu modyfikacji
zapisanego w i-węźle. Jesli czas modyfikacji nie jest częścią pojęcia
transakcji, można użyć fdatasync, aby zapobiec niepotrzebnym zapisom i-
węzłów.
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 skojarzony z plikiem specjalnym, który nie wspiera
synchronizacji.
EIO Nastąpił błąd podczas synchronizacji.
USTERKI
Obecnie (Linux 2.2) fdatasync jest równoważne fsync.
ZGODNE Z
POSIX1b (wcześniej POSIX.4)
ZOBACZ TAKŻE
fsync(2), B.O. Gallmeister, POSIX.4, O'Reilly, str. 220-223 i 343.