Email List: Xaustin-group-lX
[All Lists]

[1003.1(2008)/Issue 7 0000098]: aio_fsync option

To: austin-group-l@xxxxxxxxxxxxx
Subject: [1003.1(2008)/Issue 7 0000098]: aio_fsync option
From: Austin Group Bug Tracker <noreply@xxxxxxxxxxxxx>
Date: Mon, 29 Jun 2009 20:17:38 +0000
Keywords: [1003.1(2008)/Issue 7] System Interfaces
The following issue has been SUBMITTED. 
====================================================================== 
http://austingroupbugs.net/view.php?id=98 
====================================================================== 
Reported By:                msbrown
Assigned To:                ajosey
====================================================================== 
Project:                    1003.1(2008)/Issue 7
Issue ID:                   98
Category:                   System Interfaces
Type:                       Error
Severity:                   Objection
Priority:                   normal
Status:                     Under Review
Name:                       Mark Brown 
Organization:               IBM 
User Reference:              
Section:                    aio_fsync 
Page Number:                573 
Line Number:                19785 
Final Accepted Text:         
====================================================================== 
Date Submitted:             2009-06-29 20:17 UTC
Last Modified:              2009-06-29 20:17 UTC
====================================================================== 
Summary:                    aio_fsync option
Description: 
 _____________________________________________________________________________
 OBJECTION                                        Enhancement Request
Number 28
 gwc:xxxxxxxxxxxxx                          Defect in XSH aio_fsync (rdvk#
 3)
 [gwc aio_fsync option]                         Mon, 6 Apr 2009 10:24:42
+0100

_____________________________________________________________________________

In the 2008 revision, functionality associated with the AIO option
 was moved to Base.  However, aio_fsync() provides functionality which
 is equivalent (although asynchronous) to fsync() and fdatasync(),
 which are part of the FSC and SIO options, respectively.

 For consistency, aio_fsync() should have been made optional, with
 functionality equivalent to fsync() being shaded FSC (or FSC SIO
 where corresponding text on the fsync() page is shaded SIO), and
 functionality equivalent to fdatasync() being shaded SIO.

 Another aspect of the same problem is that aio_fsync() page has
 unshaded references to the constant O_DSYNC, which is only required
 to be defined by <fcntl.h> if the SIO option is supported for
 compilation.
Desired Action: 
Shade the SYNOPSIS with margin code FSC|SIO.

 At line 19788 change:

     The aio_fsync() function shall asynchronously force all I/O
     operations associated 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.

 to:

     The aio_fsync() function shall asynchronously perform a file
     synchronization operation, as specified by the op argument, for
     I/O operations associated 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().

 At line 19793 add SIO shading to:

     If op is O_DSYNC, all currently queued I/O operations shall be


     completed as if by a call to fdatasync(); that is, as defined for
     synchronized I/O data integrity completion.

 At line 19794 add FSC shading to:

     If op is O_SYNC, all currently queued I/O operations shall be
     completed as if by a call to fsync();

 and add FSC SIO shading to:

     that is, as defined for synchronized I/O file integrity completion.

 At line 19797 change:

     operation queued by aio_fsync() fails, then, as for fsync() and
     fdatasync(), outstanding I/O operations are not guaranteed to have
     been completed.

 to:

     operation queued by aio_fsync() fails, then outstanding I/O
     operations are not guaranteed to have been completed.

 At line 19825 add SIO shading to:

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

 and add another EINVAL error after it, shaded FSC:

     [EINVAL]  The aio_fildes member of the aiocb structure refers to a
               file on which an fsync() operation is not possible.

 At line 19826 change:

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

 to:

     [EINVAL]  A value of op other than O_DSYNC or O_SYNC was specified,
               or O_DSYNC was specified and the implementation does not
               provide runtime support for the Synchronized Input and
               Output option, or O_SYNC was specified and the
               implementation does not provide runtime support for the
               File Synchronization option.

 At line 19829 change:

     asynchronous fsync() operation

 to

     asynchronous operation

 Cross-volume change to XBD...

 page 220 line 7234 section aio.h, add FSC|SIO shading to the
 declaration of aio_fsync().

======================================================================

<Prev in Thread] Current Thread [Next in Thread>