aio_fsync man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]


       aio_fsync - asynchronous file synchronization

       #include <aio.h>

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

       The aio_fsync() function asynchronously forces all I/O operations asso‐
       ciated with the file indicated by the file descriptor aio_fildes member
       of  the aiocb structure referenced by the aiocbp argument and queued at
       the time of the call to aio_fsync() to the synchronized I/O  completion
       state.  The  function call returns when the synchronization request has
       been initiated or queued to the file or device (even when the data can‐
       not be synchronized immediately).

       If  op is O_DSYNC, all currently queued I/O operations are completed as
       if by a call to fdatasync(3C); that is, as defined for synchronized I/O
       data  integrity	completion.  If op is O_SYNC, all currently queued I/O
       operations are completed as if by a call	 to  fsync(3C);	 that  is,  as
       defined	 for  synchronized  I/O	 file  integrity  completion.  If  the
       aio_fsync() function fails, or if the operation queued  by  aio_fsync()
       fails, then, as for fsync(3C) and fdatasync(3C), outstanding I/O opera‐
       tions are not guaranteed to have been completed.

       If aio_fsync() succeeds, then it is only the I/O that was queued at the
       time  of the call to aio_fsync() that is guaranteed to be forced to the
       relevant completion state. The completion of subsequent I/O on the file
       descriptor is not guaranteed to be completed in a synchronized fashion.

       The  aiocbp  argument  refers to an asynchronous I/O control block. The
       aiocbp  value  may  be  used  as	 an  argument  to  aio_error(3C)   and
       aio_return(3C)  in  order to determine the error status and return sta‐
       tus, respectively, of the asynchronous operation while it  is  proceed‐
       ing.  When the request is queued, the error status for the operation is
       EINPROGRESS.  When all data  has	 been  successfully  transferred,  the
       error  status  will  be	reset to reflect the success or failure of the
       operation. If the operation does not complete successfully,  the	 error
       status  for  the	 operation  will  be  set  to  indicate the error. The
       aio_sigevent member determines the asynchronous notification  to	 occur
       when all operations have achieved synchronized I/O completion (see sig‐
       nal.h(3HEAD)). All other members of the structure referenced by	aiocbp
       are ignored. If the control block referenced by aiocbp becomes an ille‐
       gal address prior to asynchronous I/O completion, then the behavior  is

       If the aio_fsync() function fails or the aiocbp indicates an error con‐
       dition, data is not guaranteed to have been successfully transferred.

       If aiocbp is NULL, then no status is returned in aiocbp, and no	signal
       is generated upon completion of the operation.

       The  aio_fsync()	 function  returns 0 to the calling process if the I/O
       operation is successfully queued; otherwise, the	 function  returns  −1
       and sets errno to indicate the error.

       The aio_fsync() function will fail if:

		 The  requested	 asynchronous  operation was not queued due to
		 temporary resource limitations.

		 The aio_fildes member of the aiocb  structure	referenced  by
		 the  aiocbp  argument is not a valid file descriptor open for

		 The system does not support synchronized I/O for this file.

		 A value of op other than O_DSYNC or O_SYNC was specified.

       In the event that any of the queued I/O	operations  fail,  aio_fsync()
       returns the error condition defined for read(2) and write(2). The error
       will be returned in the error status  for  the  asynchronous  fsync(3C)
       operation, which can be retrieved using aio_error(3C).

       The  aio_fsync()	 function has a transitional interface for 64-bit file
       offsets.	 See lf64(5).

       See attributes(5) for descriptions of the following attributes:

       │Interface Stability │ Committed		│
       │MT-Level	    │ MT-Safe		│
       │Standard	    │ See standards(5). │

       fcntl(2), open(2), read(2),  write(2),  aio_error(3C),  aio_return(3C),
       aio.h(3HEAD),	fcntl.h(3HEAD),	   fdatasync(3C),    fsync(3C),	  sig‐
       nal.h(3HEAD), attributes(5), lf64(5), standards(5)

				  Feb 5, 2008			 AIO_FSYNC(3C)

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
Vote for polarhome
Free Shell Accounts :: the biggest list on the net