Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 08 Dec 2015 19:54:06 +0100
From:      =?utf-8?Q?Dag-Erling_Sm=C3=B8rgrav?= <des@des.no>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Kirk McKusick <mckusick@mckusick.com>, Maxim Sobolev <sobomax@FreeBSD.org>, freebsd-current@freebsd.org, freebsd-hackers@freebsd.org
Subject:   Re: posix_fallocate(2) && posix_fadvise(2) are somewhat broken
Message-ID:  <86poygrctt.fsf@desk.des.no>
In-Reply-To: <20151208174259.GA82577@kib.kiev.ua> (Konstantin Belousov's message of "Tue, 8 Dec 2015 19:42:59 %2B0200")
References:  <CAH7qZfvV-RepAc6N0UxFi2RBthxrd%2BqHD-Qh5dc-9v=NFGCy_w@mail.gmail.com> <868u55rl96.fsf@desk.des.no> <20151208174259.GA82577@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Konstantin Belousov <kostikbel@gmail.com> writes:
> Dag-Erling Sm=C3=B8rgrav <des@des.no> writes:
> > Maxim Sobolev <sobomax@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.

Umm, I can't find the code ATM but syscalls store the actual return
value in td_retval and return 0 or EWHATEVER and the syscall wrapper
handles the translation.  If that's not what Maxim was talking about,
then please ignore me.

Anyway, happy to hear that the X/Open group have found a new way to
screw people over.

DES
--=20
Dag-Erling Sm=C3=B8rgrav - des@des.no



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86poygrctt.fsf>