1<assertions> 2 <assertion id="1" tag="ref:XSH6:14784:14786"> 3 The fsync( ) function shall request that all data for the open file descriptor named by 4 fildes is to be transferred to the storage device associated with the file described by 5 fildes in an implementation-defined manner. 6 </assertion> 7 8 <assertion id="2" tag="ref:XSH6:14786:14787"> 9 The fsync( ) function shall not return until the system has 10 completed that action or until an error is detected. 11 </assertion> 12 13 <assertion id="3" tag="ref:XSH6:14788:14791"> 14 SIO If _POSIX_SYNCHRONIZED_IO is defined, the fsync( ) function shall force all currently 15 queuee I/O operations associated with the file indicated by file descriptor fildes to the 16 synchronized I/O completion state. All I/O operations shall be completed as defined for 17 synchronized I/O file integrity completion. 18 </assertion> 19 20 <assertion id="4" tag="ref:XSH6:14793:14787"> 21 Upon successful completion, fsync( ) shall return 0. Otherwise, .1 shall be returned and 22 errno set to indicate the error. If the fsync( ) function fails, outstanding I/O operations 23 are not guaranteed to have been completed. 24 </assertion> 25 26 <assertion id="5" tag="ref:XSH6:14797:14798"> 27 The fsync( ) function shall fail if: 28 [EBADF] The fildes argument is not a valid descriptor. 29 </assertion> 30 31 <assertion id="6" tag="ref:XSH6:14797:14799"> 32 The fsync( ) function shall fail if: 33 [EINTR] The fsync( ) function was interrupted by a signal. 34 </assertion> 35 36 <assertion id="7" tag="ref:XSH6:1497:14800"> 37 The fsync( ) function shall fail if: 38 [EINVAL] The fildes argument does not refer to a file on which this operation is possible. 39 </assertion> 40 41 <assertion id="8" tag="ref:XSH6:14797:14801"> 42 The fsync( ) function shall fail if: 43 [EIO] An I/O error occurred while reading from or writing to the file system. 44 </assertion> 45 46 <assertion id="9" tag="ref:XSH6:14797:14803"> 47 In the event that any of the queued I/O operations fail, fsync( ) shall return the error 48 conditions defined for read( ) and write( ). 49 </assertion> 50</assertions> 51 52