FDATASYNC(2)

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
Uwaga! To tłumaczenie może być nieaktualne!

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.

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 fdatasync

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