Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Feb 2013 15:09:16 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r246763 - in head: lib/libc/sys sys/kern
Message-ID:  <201302131509.r1DF9GdM011497@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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) {



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