Skip to contentSkip to conversation

New: posix_fallocate: what if len == 0?

Bug 12919 bugme-daemon-590EEB7GvNiWaY/[email protected] 2 participants 2 messages Mar 22, 2009 – Mar 30, 2009 1 message not in the archive Man-pages: manual pages for Linux -- Sections 2, 3, 4, 5, and 7

lore
Share & tools
lore
#0 lore raw

http://bugzilla.kernel.org/show_bug.cgi?id=12919

           Summary: posix_fallocate: what if len == 0?
           Product: Documentation
           Version: unspecified
     KernelVersion: 2.6.28.4
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: low
          Priority: P1
         Component: man-pages
        AssignedTo: documentation_man-pages-ztI5WcYan/[email protected]
        ReportedBy: [email protected]

Hi,

I noticed the following in the manpage for posix_fallocate. It currently (in man-pages 3.19) says under "Errors":

EINVAL offset or len was less than 0.

However, the Linux kernel also returns EINVAL if len is *equal* to 0. (See fallocate() in
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=fs/open.c;hb=HEAD).
This follows IEEE Std 1003.1-2001, which says
(http://www.opengroup.org/onlinepubs/009695399/functions/posix_fallocate.html):

[EINVAL]
The len argument was zero or the offset argument was less than zero.

(Interestingly, this doesn't mention what should happen if len is negative...)

However POSIX.1-2008 says
(http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.html):

[EINVAL]
The len argument is less than zero, or the offset argument is less than
zero, or the underlying file system does not support this operation.

Thus the manpage should probably be updated to reflect that you cannot rely on len being allowed to be 0 in portable code.

Signature · 7 lines
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
#2 lore raw

[Bug 12919] posix_fallocate: what if len == 0?

In reply to a message not in the archive

http://bugzilla.kernel.org/show_bug.cgi?id=12919

Michael Kerrisk <[email protected]> changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #1 from Michael Kerrisk <[email protected]> 2009-03-30 01:20:18 --- (In reply to comment #0)

Hi,

Thanks for the great supporting info on this bug report.

Quoted 11 lines

Hi,
I noticed the following in the manpage for posix_fallocate. It currently (in man-pages 3.19) says under "Errors":
EINVAL offset or len was less than 0.
However, the Linux kernel also returns EINVAL if len is *equal* to 0. (See fallocate() in
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=fs/open.c;hb=HEAD).
This follows IEEE Std 1003.1-2001, which says
(http://www.opengroup.org/onlinepubs/009695399/functions/posix_fallocate.html):
[EINVAL]
The len argument was zero or the offset argument was less than zero.

Quoted 8 lines

(Interestingly, this doesn't mention what should happen if len is negative...) However POSIX.1-2008 says
(http://www.opengroup.org/onlinepubs/9699919799/functions/posix_fallocate.html):
[EINVAL]
The len argument is less than zero, or the offset argument is less than
zero, or the underlying file system does not support this operation. Thus the manpage should probably be updated to reflect that you cannot rely on len being allowed to be 0 in portable code.

For man-pages-3.20, I added the words "or equal" when talking about 'len;under teh EINVAL description. I also added text under CONFORMING TO describing the POSIX.1-* specifications for the EINVAL error.

Cheers,

Michael

PS See also:
https://www.opengroup.org/austin/interps/uploads/40/14574/AI-162.txt

Signature · 7 lines
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-man" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html