]> git.ipfire.org Git - thirdparty/man-pages.git/blobdiff - man2/fdatasync.2
Start of man-pages-5.03: renaming .Announce and .lsm files
[thirdparty/man-pages.git] / man2 / fdatasync.2
index 043d8e2283ebefcba381aac8450b2298ee9775dc..3c7494f37d47e898b02cd653d4e0997fa5c9625b 100644 (file)
@@ -1,110 +1 @@
-.\" Hey Emacs! This file is -*- nroff -*- source.
-.\"
-.\" Copyright (C) 1996 Andries Brouwer (aeb@cwi.nl)
-.\" Copyright (C) 1996 Markus Kuhn.
-.\"
-.\" [This version merged from two independently written pages - aeb]
-.\"
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one.
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date.  The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein.  The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\"
-.\" 1996-04-12  Andries Brouwer <aeb@cwi.nl>
-.\" 1996-04-13  Markus Kuhn <mskuhn@cip.informatik.uni-erlangen.de>
-.\"
-.TH FDATASYNC 2 2007-07-26 "Linux" "Linux Programmer's Manual"
-.SH NAME
-fdatasync \- synchronize a file's in-core data with that on disk
-.SH SYNOPSIS
-.B #include <unistd.h>
-.sp
-.BI "int fdatasync(int " fd );
-.sp
-.in -4n
-Feature Test Macro Requirements for glibc (see
-.BR feature_test_macros (7)):
-.in
-.sp
-.BR fdatasync ():
-_POSIX_C_SOURCE\ >=\ 199309L || _XOPEN_SOURCE\ >=\ 500
-.SH DESCRIPTION
-.BR fdatasync ()
-flushes all data buffers of a file to disk (before the system
-call returns).
-It resembles
-.BR fsync (2)
-but is not required to update metadata such as the file last access time.
-
-Applications that access databases or log files often write a tiny
-data fragment (e.g., one line in a log file) and then call
-.BR fsync (2)
-immediately in order to ensure that the written data is physically
-stored on the harddisk.
-Unfortunately,
-.BR fsync (2)
-will always initiate two write operations: one for the newly written
-data and another one in order to update the modification time stored
-in the inode.
-If the modification time is not a part of the transaction
-concept
-.BR fdatasync ()
-can be used to avoid unnecessary inode disk write operations.
-.SH "RETURN VALUE"
-On success, zero is returned.
-On error, \-1 is returned, and
-.I errno
-is set appropriately.
-.SH ERRORS
-.TP
-.B EBADF
-.I fd
-is not a valid file descriptor open for writing.
-.TP
-.B EIO
-An error occurred during synchronization.
-.TP
-.BR EROFS ", " EINVAL
-.I fd
-is bound to a special file which does not support synchronization.
-.SH "CONFORMING TO"
-POSIX.1-2001.
-.SH AVAILABILITY
-On POSIX systems on which
-.BR fdatasync ()
-is available,
-.B _POSIX_SYNCHRONIZED_IO
-is defined in
-.I <unistd.h>
-to a value greater than 0.
-(See also
-.BR sysconf (3).)
-.\" POSIX.1-2001: It shall be defined to -1 or 0 or 200112L.
-.\" -1: unavailable, 0: ask using sysconf().
-.\" glibc defines them to 1.
-.SH NOTES
-In Linux 2.2 and earlier,
-.BR fdatasync ()
-is equivalent to
-.BR fsync (2),
-and so has no performance advantage.
-.SH "SEE ALSO"
-.BR fsync (2),
-.BR sync_file_range (2)
-.br
-B.O. Gallmeister, POSIX.4, O'Reilly, pp. 220-223 and 343.
+.so man2/fsync.2