Module Name:    src
Committed By:   hannken
Date:           Tue Jun 21 12:41:24 UTC 2011

Modified Files:
        src/sys/dev: fss.c

Log Message:
When reading or writing the backing store us POSIX_FADV_NOREUSE access hint
to prevent read ahead.


To generate a diff of this commit:
cvs rdiff -u -r1.75 -r1.76 src/sys/dev/fss.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/fss.c
diff -u src/sys/dev/fss.c:1.75 src/sys/dev/fss.c:1.76
--- src/sys/dev/fss.c:1.75	Sun Jun 12 03:35:51 2011
+++ src/sys/dev/fss.c	Tue Jun 21 12:41:24 2011
@@ -1,4 +1,4 @@
-/*	$NetBSD: fss.c,v 1.75 2011/06/12 03:35:51 rmind Exp $	*/
+/*	$NetBSD: fss.c,v 1.76 2011/06/21 12:41:24 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2003 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: fss.c,v 1.75 2011/06/12 03:35:51 rmind Exp $");
+__KERNEL_RCSID(0, "$NetBSD: fss.c,v 1.76 2011/06/21 12:41:24 hannken Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -978,12 +978,13 @@
 	vn_lock(sc->sc_bs_vp, LK_EXCLUSIVE|LK_RETRY);
 
 	error = vn_rdwr((rw == FSS_READ ? UIO_READ : UIO_WRITE), sc->sc_bs_vp,
-	    data, len, off, UIO_SYSSPACE, IO_UNIT|IO_NODELOCKED,
+	    data, len, off, UIO_SYSSPACE,
+	    IO_ADV_ENCODE(POSIX_FADV_NOREUSE) | IO_NODELOCKED,
 	    sc->sc_bs_lwp->l_cred, NULL, NULL);
 	if (error == 0) {
 		mutex_enter(sc->sc_bs_vp->v_interlock);
 		error = VOP_PUTPAGES(sc->sc_bs_vp, trunc_page(off),
-		    round_page(off+len), PGO_CLEANIT|PGO_SYNCIO|PGO_FREE);
+		    round_page(off+len), PGO_CLEANIT | PGO_FREE | PGO_SYNCIO);
 	}
 
 	VOP_UNLOCK(sc->sc_bs_vp);

Reply via email to