View Issue Details

IDProjectCategoryView StatusLast Update
00002251003.1(2008)/Issue 7System Interfacespublic2013-04-16 13:06
Reportereblake Assigned Toajosey  
PrioritynormalSeverityObjectionTypeError
Status ClosedResolutionAccepted 
NameEric Blake
OrganizationRed Hat
User Referenceebb.ENXIO
Sectionfseek
Page Number938
Line Number31442
Interp StatusApproved
Final Accepted Text0000225:0000405
Summary0000225: ENXIO and 'may fail'
DescriptionThe standard is inconsistent on when ENXIO, in relation to a request outside the capabilities of a device, is required rather than optional. This text is associated with actions related to read() and write(). After auditing all uses of ENXIO associated with this phrase, the only uses that were marked as 'shall fail' are fseek/fseeko, fsetpos, and pread. The case of pread is already being dealt with in 0000218.

From an application standpoint, the application must already be prepared to deal with an optional error. From an implementation standpoint, relaxing ENXIO to optional has no impact if the situation was already being detected, and eases compliance if it was not. From a conformance test standpoint, it is not easy to write a test that reliably and intentionally requests an action beyond the capability of a device, so there is nothing lost by relaxing the requirement.

Other uses of ENXIO, such as open() failing if an underlying device is not present, should remain as 'shall fail'.
Desired ActionAfter line 31450 (fseek/fseeko), add a new paragraph:

The fseek() <CX> and fseeko() </CX> functions may fail if:


Then move the existing ENXIO condition at lines 31442-31443 out of the shall fail into the new may fail section, still with CX shading.

[ENXIO] A request was made of a nonexistent device, or the request was outside the capabilities of the device.


After line 31531 (fsetpos), add a new paragraph:

The fsetpos() function may fail if:


Then move the existing ENXIO condition at lines 31527-31528 out of the shall fail into the new may fail section, still with CX shading.
Tagstc1-2008

Relationships

related to 0000218 Closedajosey Inconsistencies in pread() and read() errors 
related to 0000215 Closedajosey Inconsistencies in pwrite() and write() errors 

Activities

msbrown

2010-03-25 15:44

manager   bugnote:0000405

Interpretation response
------------------------
The standard states the current fseek() and fseeko() error conditions , and conforming implementations must conform to this. However, concerns have been raised about this which are being referred to the sponsor.


Notes to the Editor (not part of this interpretation):
-------------------------------------------------------
Make change suggested by Submitter. This interpretation should be considered in tandem with 0000218

Issue History

Date Modified Username Field Change
2010-03-04 18:23 eblake New Issue
2010-03-04 18:23 eblake Status New => Under Review
2010-03-04 18:23 eblake Assigned To => ajosey
2010-03-04 18:23 eblake Name => Eric Blake
2010-03-04 18:23 eblake Organization => Red Hat
2010-03-04 18:23 eblake User Reference => ebb.ENXIO
2010-03-04 18:23 eblake Section => fseek
2010-03-04 18:23 eblake Page Number => 938
2010-03-04 18:23 eblake Line Number => 31442
2010-03-25 15:44 msbrown Interp Status => Pending
2010-03-25 15:44 msbrown Note Added: 0000405
2010-03-25 15:44 msbrown Status Under Review => Interpretation Required
2010-03-25 15:44 msbrown Resolution Open => Accepted
2010-03-25 15:44 msbrown Relationship added related to 0000218
2010-03-25 15:45 msbrown Final Accepted Text => 0000225:0000405
2010-03-25 15:46 msbrown Relationship added related to 0000215
2010-04-16 10:14 ajosey Interp Status Pending => Proposed
2010-05-28 14:05 ajosey Interp Status Proposed => Approved
2010-09-24 11:18 geoffclare Tag Attached: tc1-2008
2013-04-16 13:06 ajosey Status Interpretation Required => Closed