Date: Sat, 3 Oct 2015 23:33:12 +0200 From: Jilles Tjoelker <jilles@stack.nl> To: Mark Johnston <markj@FreeBSD.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r288628 - head/sys/kern Message-ID: <20151003213311.GB57303@stack.nl> In-Reply-To: <201510031937.t93Jbgkk077518@repo.freebsd.org> References: <201510031937.t93Jbgkk077518@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 03, 2015 at 07:37:42PM +0000, Mark Johnston wrote: > Author: markj > Date: Sat Oct 3 19:37:41 2015 > New Revision: 288628 > URL: https://svnweb.freebsd.org/changeset/base/288628 > Log: > The return value of posix_fadvise(2) is just an error status, so > sys_posix_fadvise() should simply return the errno (or 0) to syscallenter() > rather than setting a return value. > MFC after: 1 week > Modified: > head/sys/kern/vfs_syscalls.c > > Modified: head/sys/kern/vfs_syscalls.c > ============================================================================== > --- head/sys/kern/vfs_syscalls.c Sat Oct 3 19:27:52 2015 (r288627) > +++ head/sys/kern/vfs_syscalls.c Sat Oct 3 19:37:41 2015 (r288628) > @@ -4663,7 +4663,6 @@ int > sys_posix_fadvise(struct thread *td, struct posix_fadvise_args *uap) > { > > - td->td_retval[0] = kern_posix_fadvise(td, uap->fd, uap->offset, > - uap->len, uap->advice); > - return (0); > + return (kern_posix_fadvise(td, uap->fd, uap->offset, uap->len, > + uap->advice)); > } This change makes the code match the man page, but in fact, the code was right and the man page is wrong. Per POSIX, posix_fadvise() shall return 0 on success and an error number on failure, and need not modify errno. Also, this kind of ABI change in general is almost always a bad idea when the function is already part of a stable branch. -- Jilles Tjoelker
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20151003213311.GB57303>