fsync(2) System Calls Manual fsync(2) fsync, fdatasync - (libc -lc) #include int fsync(int fd); int fdatasync(int fd); glibc ( feature_test_macros(7)): fsync(): glibc 2.16 and later: No feature test macros need be defined glibc up to and including 2.15: _BSD_SOURCE || _XOPEN_SOURCE || /* Since glibc 2.8: */ _POSIX_C_SOURCE >= 200112L fdatasync(): _POSIX_C_SOURCE >= 199309L || _XOPEN_SOURCE >= 500 fsync() ("") ( ) fd ( ) . . . fsync() ( inode(7)). fsync() . fsync() . fdatasync() fsync() . st_atime st_mtime ( inode(7)) . (st_size ftruncate(2) ) . fdatasync() . . -1 errno . EBADF fd . EINTR signal(7). EIO . . Linux 4.13 . ( NFS) . ( ) . ENOSPC . EROFS EINVAL fd ( FIFO ) . ENOSPC EDQUOT fd NFS write(2) . POSIX fdatasync() _POSIX_SYNCHRONIZED_IO 0. ( sysconf(3).) POSIX.1-2024. fsync() 4.2BSD, SUSv1, POSIX.1-1996. fdatasync() POSIX.1-1996. Linux 2.2 fdatasync() fsync() . fsync() . hdparm(8) sdparm(8) . AT&T UNIX System V Release 4 fd . BSD POSIX HP-UX AIX. sync(1), bdflush(2), open(2), posix_fadvise(2), pwritev(2), sync(2), sync_file_range(2), fflush(3), fileno(3), hdparm(8), mount(8) 3 . . : . 6.18 8 2026 fsync(2)