svn commit: r246763 - in head: lib/libc/sys sys/kern
Ian Lepore
ian at FreeBSD.org
Wed Feb 13 15:09:17 UTC 2013
Author: ian
Date: Wed Feb 13 15:09:16 2013
New Revision: 246763
URL: http://svnweb.freebsd.org/changeset/base/246763
Log:
Make the F_READAHEAD option to fcntl(2) work as documented: a value of zero
now disables read-ahead. It used to effectively restore the system default
readahead hueristic if it had been changed; a negative value now restores
the default.
Reviewed by: kib
Modified:
head/lib/libc/sys/fcntl.2
head/sys/kern/kern_descrip.c
Modified: head/lib/libc/sys/fcntl.2
==============================================================================
--- head/lib/libc/sys/fcntl.2 Wed Feb 13 14:57:54 2013 (r246762)
+++ head/lib/libc/sys/fcntl.2 Wed Feb 13 15:09:16 2013 (r246763)
@@ -28,7 +28,7 @@
.\" @(#)fcntl.2 8.2 (Berkeley) 1/12/94
.\" $FreeBSD$
.\"
-.Dd July 27, 2012
+.Dd February 8, 2013
.Dt FCNTL 2
.Os
.Sh NAME
@@ -171,7 +171,7 @@ argument,
which is rounded up to the nearest block size.
A zero value in
.Fa arg
-turns off read ahead.
+turns off read ahead, a negative value restores the system default.
.It Dv F_RDAHEAD
Equivalent to Darwin counterpart which sets read ahead amount of 128KB
when the third argument,
Modified: head/sys/kern/kern_descrip.c
==============================================================================
--- head/sys/kern/kern_descrip.c Wed Feb 13 14:57:54 2013 (r246762)
+++ head/sys/kern/kern_descrip.c Wed Feb 13 15:09:16 2013 (r246763)
@@ -776,7 +776,7 @@ kern_fcntl(struct thread *td, int fd, in
}
fhold(fp);
FILEDESC_SUNLOCK(fdp);
- if (arg != 0) {
+ if (arg >= 0) {
vp = fp->f_vnode;
error = vn_lock(vp, LK_SHARED);
if (error != 0) {
More information about the svn-src-head
mailing list