fdatasync

FDATASYNC(2)                      리눅스 프로그래머 메뉴얼                     FDATASYNC(2)



이름
       fdatasync - 파일의 디스크에 있는 in-core데이타를 동기화한다.

사용법
       #include <unistd.h>

       #ifdef _POSIX_SYNCHRONIZED_IO

       int fdatasync(int fd);

       #endif

설명
       fdatasync 는 시스템 호출이 반환되기 전에 디스크에서 파일의 모든 데이파버퍼를 플러쉬한다.  fsync 와 비슷하지만,
       액세스시간과 같은 메타데이타 업데이트를 요구하진 않는다.

       액세스 데이타베이스나 로그파일이 작은 데이타 조각을 기록하고, 곧이어 쓰여진 데이 타을 확인하기 위해 fsync 를 호출하는
       응용프로그램은 하드디스크에 물리적으로 저장된다. 운나쁘게도, fsync 가 상상 두개의 기록장치를 초기화 할 것이다: 하나는 새로
       기록된 데이타를 위함이고, 또다른 하나는 inode에 저장된 수정시간을 업데이트하기 위함이다. 수정시간이 트랜젝션 개념의 한 부분이
       아니라면 fdatasync 는 불필요한 디스크기록장치 inode를 피하기 위해 사용된다.

반환값
       성공시, 0을 반환한다. 실패시, -1을 반환하고, errno 는 적절히 설정된다.

에러
       EBADF  fd 는 기록을 위해 열린 유효 파일 디스크립터이다.

       EROFS, EINVAL
              fd 는 동기화를 지원하지 않는 특별한 파일을 경계짓는다.is bound to a special file which
              does not support synchronization.

       EIO    에러가 동기화하는 동안 발생했다.

버그
       현재(리눅스 2.0.23) fdatasync fsync 와 같다.

호환
       POSIX1b (formerly POSIX.4)

관련 항목
       fsync(2), B.O. Gallmeister, POSIX.4, O'Reilly, pp. 220-223 and 343.

역자
       ASPLINUX<man@asp-linux.co.kr>, 2000년 7월 26일



리눅스 1.3.86                        1996년 4월 13일                      FDATASYNC(2)