Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AIO_FSYNC(2)		    BSD	System Calls Manual		  AIO_FSYNC(2)

NAME
     aio_fsync -- asynchronous file synchronization (REALTIME)

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <aio.h>

     int
     aio_fsync(int op, struct aiocb *iocb);

DESCRIPTION
     The aio_fsync() system call allows	the calling process to move all	modi-
     fied data associated with the descriptor iocb-_aio_fildes to a permanent
     storage device.  The call returns immediately after the synchronization
     request has been enqueued to the descriptor; the synchronization may or
     may not have completed at the time	the call returns.

     The op argument can only be set to	O_SYNC to cause	all currently queued
     I/O operations to be completed as if by a call to fsync(2).

     If	_POSIX_PRIORITIZED_IO is defined, and the descriptor supports it, then
     the enqueued operation is submitted at a priority equal to	that of	the
     calling process minus iocb-_aio_reqprio.

     The iocb pointer may be subsequently used as an argument to aio_return()
     and aio_error() in	order to determine return or error status for the en-
     queued operation while it is in progress.

     If	the request could not be enqueued (generally due to invalid argu-
     ments), the call returns without having enqueued the request.

RETURN VALUES
     The aio_fsync() function returns the value	0 if successful; otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

ERRORS
     The aio_fsync() system call will fail if:

     [EAGAIN]		The request was	not queued because of system resource
			limitations.

     [ENOSYS]		The aio_fsync()	system call is not supported.

     [EINVAL]		A value	of the op argument is not set to O_SYNC.

     The following conditions may be synchronously detected when the
     aio_fsync() system	call is	made, or asynchronously, at any	time there-
     after.  If	they are detected at call time,	aio_fsync() returns -1 and
     sets errno	appropriately; otherwise the aio_return() system call must be
     called, and will return -1, and aio_error() must be called	to determine
     the actual	value that would have been returned in errno.

     [EBADF]		The iocb-_aio_fildes argument is not a valid descrip-
			tor.

     [EINVAL]		This implementation does not support synchronized I/O
			for this file.

     If	the request is successfully enqueued, but subsequently cancelled or an
     error occurs, the value returned by the aio_return() system call is per
     the read(2) and write(2) system calls, and	the value returned by the
     aio_error() system	call is	one of the error returns from the read(2) or
     write(2) system calls.

SEE ALSO
     aio_cancel(2), aio_error(2), aio_read(2), aio_return(2), aio_suspend(2),
     aio_waitcomplete(2), aio_write(2),	fsync(2), siginfo(3), aio(4)

STANDARDS
     The aio_fsync() system call is expected to	conform	to the IEEE Std	1003.1
     ("POSIX.1") standard.

HISTORY
     The aio_fsync() system call first appeared	in FreeBSD 7.0.

BSD			       December	27, 2013			   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=aio_fsync&sektion=2&manpath=FreeBSD+9.3-RELEASE>

home | help