posix_fallocate(2) && posix_fadvise(2) are somewhat broken

Konstantin Belousov kostikbel at gmail.com
Tue Dec 8 17:43:11 UTC 2015


On Tue, Dec 08, 2015 at 04:52:05PM +0100, Dag-Erling Sm??rgrav wrote:
> Maxim Sobolev <sobomax at FreeBSD.org> writes:
> > Hi, while working on some unrelated feature I've noticed that at least
> > those two system calls are not returning proper value (-1) on error.
> > Instead actual errno value is returned from the syscall verbatim,
> > i.e. posix_fadvise() returns 22 on EINVAL.
> 
> That's how syscalls work.

No, this is not how typical syscalls work, but is how the posix_fallocate()
and posix_fadvise() are specified by Posix.  The patch is wrong, see also
r261080 and r288640.


More information about the freebsd-current mailing list