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().
======================================================================
|