svn commit: r261080 - in head: lib/libc/sys sys/compat/freebsd32 sys/kern
Konstantin Belousov
kib at FreeBSD.org
Thu Jan 23 17:24:27 UTC 2014
Author: kib
Date: Thu Jan 23 17:24:26 2014
New Revision: 261080
URL: http://svnweb.freebsd.org/changeset/base/261080
Log:
The posix_fallocate(2) syscall should return error number on error,
without modifying errno.
Reported and tested by: Gennady Proskurin <gpr at mail.ru>
Reviewed by: mdf
PR: standards/186028
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Modified:
head/lib/libc/sys/posix_fallocate.2
head/sys/compat/freebsd32/freebsd32_misc.c
head/sys/kern/vfs_syscalls.c
Modified: head/lib/libc/sys/posix_fallocate.2
==============================================================================
--- head/lib/libc/sys/posix_fallocate.2 Thu Jan 23 14:13:12 2014 (r261079)
+++ head/lib/libc/sys/posix_fallocate.2 Thu Jan 23 17:24:26 2014 (r261080)
@@ -83,9 +83,9 @@ that reduces the file size to a size sma
If successful,
.Fn posix_fallocate
returns zero.
-It returns -1 on failure, and sets
+It returns error number on failure, without setting
.Va errno
-to indicate the error.
+variable.
.Sh ERRORS
Possible failure conditions:
.Bl -tag -width Er
Modified: head/sys/compat/freebsd32/freebsd32_misc.c
==============================================================================
--- head/sys/compat/freebsd32/freebsd32_misc.c Thu Jan 23 14:13:12 2014 (r261079)
+++ head/sys/compat/freebsd32/freebsd32_misc.c Thu Jan 23 17:24:26 2014 (r261080)
@@ -2995,8 +2995,9 @@ freebsd32_posix_fallocate(struct thread
struct freebsd32_posix_fallocate_args *uap)
{
- return (kern_posix_fallocate(td, uap->fd,
- PAIR32TO64(off_t, uap->offset), PAIR32TO64(off_t, uap->len)));
+ td->td_retval[0] = kern_posix_fallocate(td, uap->fd,
+ PAIR32TO64(off_t, uap->offset), PAIR32TO64(off_t, uap->len));
+ return (0);
}
int
Modified: head/sys/kern/vfs_syscalls.c
==============================================================================
--- head/sys/kern/vfs_syscalls.c Thu Jan 23 14:13:12 2014 (r261079)
+++ head/sys/kern/vfs_syscalls.c Thu Jan 23 17:24:26 2014 (r261080)
@@ -4584,7 +4584,9 @@ int
sys_posix_fallocate(struct thread *td, struct posix_fallocate_args *uap)
{
- return (kern_posix_fallocate(td, uap->fd, uap->offset, uap->len));
+ td->td_retval[0] = kern_posix_fallocate(td, uap->fd, uap->offset,
+ uap->len);
+ return (0);
}
/*
More information about the svn-src-all
mailing list