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
This commit is contained in:
Ian Lepore 2013-02-13 15:09:16 +00:00
parent a18a7a414a
commit 74938cbb7f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=246763
2 changed files with 3 additions and 3 deletions

View File

@ -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,

View File

@ -776,7 +776,7 @@ kern_fcntl(struct thread *td, int fd, int cmd, intptr_t arg)
}
fhold(fp);
FILEDESC_SUNLOCK(fdp);
if (arg != 0) {
if (arg >= 0) {
vp = fp->f_vnode;
error = vn_lock(vp, LK_SHARED);
if (error != 0) {