Austin Group Defect Tracker

Aardvark Mark IV

Viewing Issue Simple Details Jump to Notes ] Issue History ] Print ]
ID Category Severity Type Date Submitted Last Update
0000687 [1003.1(2013)/Issue7+TC1] System Interfaces Comment Enhancement Request 2013-05-02 17:10 2024-06-11 09:02
Reporter nick View Status public  
Assigned To
Priority normal Resolution Accepted As Marked  
Status Closed  
Name Nick Stoughton
Organization USENIX
User Reference nms-fallocate-1
Section posix_fallocate
Page Number 893
Line Number 29910-29931
Interp Status ---
Final Accepted Text Note: 0001599
Summary 0000687: Not all filesystems support posix_fallocate
Description As described in 0000684, not every filesystem can (or can easily) support posix_fallocate().

Applications need to know whether a filesystem supports posix_fallocate(). In addition to an error return from posix_fallocate() itself, it would be useful if an application could determine in advance whether or not a filesystem will support a call to posix_fallocate().
Desired Action Add the following entry to the table in lines 29910-29931:


Add to RATIONALE, page 896, after line 30037:

The value returned for the variable _POSIX_ADVISORY_INFO indicates whether or not the filesystem supports all of the functionality required by the Advisory Information option. In particular, some systems may not support posix_fallocate() on all filesystems. A return value greater than zero indicates that the filesystem support all the functionality required. See <XREF to XBD 2.1.6 on page 26>.

In XBD, unistd.h, page 443, after line 14982, add

Tags issue8
Attached Files

- Relationships
related to 0000684Closed posix_fallocate() should be allowed to return ENOTSUP 

-  Notes
nico (reporter)
2013-05-02 17:21
edited on: 2013-05-02 21:07

There's a typo in the link and link text to the report about posix_fallocate(). It's 0000684, not 0000654.

The link has been fixed.

nico (reporter)
2013-05-02 18:11

Hmm, these pathconf() names seem too generic. Can we have "FALLOC" in them?
geoffclare (manager)
2013-05-03 09:08

The _POSIX_ADVISORY_INFO option includes posix_madvise() and
posix_memalign() which are not file system related, so
_PC_ADVISORY_INFO is definitely not the right way to go.

I agree with Note: 0001565 that the new constant name(s) should
be specific to posix_fallocate(). The other alternative would
be to have it apply to posix_fadvise() as well, but I don't
see any need for that since posix_fadvise() doesn't have to
do anything with the information the application gives it.

I think that as well as adding the _PC_FALLOC constant, there
should be a new _POSIX_FALLOC constant added after _POSIX_ASYNC_IO
at page 440 line 14855 (and this should be the name used in the
Variable column of the pathconf table).
nico (reporter)
2013-05-03 21:51

This issue must be resolved together with #684 (where I asked for a pathconf() too). In fact, it strikes me as a dup of #684. If concurrent resolution cannot be achieved then this should be closed as a dup of #684.
eblake (manager)
2013-05-03 23:08

The intent of splitting this into two reports is that for TC2, we should document current behavior but not impose new requirements (bug:684), but for Issue 8, we should add a pathconf() and possibly impose other new requirements (bug:687). Yes, it's annoying that we can't add a pathconf in TC2, but at the same time, we felt it is an important enough issue that something has to be done at TC2 (even if it is only documenting the problem and that a FUTURE DIRECTIONS will probably make it easier to deal with the problem).
geoffclare (manager)
2013-05-10 09:44

At page 1426 line 47096, after this text added by 0000684:

    Not all file systems are capable of supporting posix_fallocate(),
    in which case the function will return ENOTSUP. However, if a
    system supports the option, there must be at least one file system
    that is capable of supporting this function.


    The pathconf() and fpathconf() functions can be used to determine
    whether a file in a particular file system supports posix_fallocate().

After page 893 line 29928 section fpathconf add:
    _POSIX_FALLOC      _PC_FALLOC       8

Cross-volume changes to XBD...

After page 440 line 14855 section unistd.h, add:
       The posix_fallocate() function is supported by the associated file.

After page 443 line 14985 section unistd.h, add:

nico (reporter)
2013-05-21 19:00

"However, if a
    system supports the option, there must be at least one file system
    that is capable of supporting this function."

What exactly does this mean? One mounted filesystem? Or one filesystem type? If the latter, must it be included in the OS, or can it be a third-party filesystem?

I think it'd be better to exclude this requirement. There's no way to test it in, say, autoconf tests.

- Issue History
Date Modified Username Field Change
2013-05-02 17:10 nick New Issue
2013-05-02 17:10 nick Name => Nick Stoughton
2013-05-02 17:10 nick Organization => USENIX
2013-05-02 17:10 nick User Reference => nms-fallocate-1
2013-05-02 17:10 nick Section => posix_fallocate
2013-05-02 17:10 nick Page Number => 893
2013-05-02 17:10 nick Line Number => 29910-29931
2013-05-02 17:10 nick Interp Status => ---
2013-05-02 17:10 nick Issue generated from 0000684
2013-05-02 17:10 nick Relationship added related to 0000684
2013-05-02 17:21 nico Note Added: 0001563
2013-05-02 17:58 nico Note Added: 0001564
2013-05-02 17:58 nico Note Deleted: 0001564
2013-05-02 18:11 nico Note Added: 0001565
2013-05-02 21:07 Don Cragun Description Updated
2013-05-02 21:07 Don Cragun Note Edited: 0001563
2013-05-03 09:08 geoffclare Note Added: 0001566
2013-05-03 21:48 nico Issue Monitored: nico
2013-05-03 21:51 nico Note Added: 0001586
2013-05-03 23:08 eblake Note Added: 0001587
2013-05-10 09:44 geoffclare Note Added: 0001599
2013-05-10 09:45 geoffclare Tag Attached: issue8
2013-05-16 15:09 geoffclare Final Accepted Text => Note: 0001599
2013-05-16 15:09 geoffclare Status New => Resolved
2013-05-16 15:09 geoffclare Resolution Open => Accepted As Marked
2013-05-21 19:00 nico Note Added: 0001619
2020-03-24 15:51 geoffclare Status Resolved => Applied
2024-06-11 09:02 agadmin Status Applied => Closed

Mantis 1.1.6[^]
Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker