Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Oct 2011 18:42:55 GMT
From:      John Baldwin <jhb@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 200663 for review
Message-ID:  <201110241842.p9OIgtKj084559@skunkworks.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://p4web.freebsd.org/@@200663?ac=10

Change 200663 by jhb@jhb_jhbbsd on 2011/10/24 18:41:54

	Use V_CLEANONLY and vm_object_page_cache() for FADV_DONTNEED to
	avoid losing data in dirty buffers and to move pages into cache
	rather than free'ing them outright.

Affected files ...

.. //depot/projects/fadvise/sys/kern/vfs_default.c#5 edit

Differences ...

==== //depot/projects/fadvise/sys/kern/vfs_default.c#5 (text+ko) ====

@@ -1017,13 +1017,13 @@
 			VOP_UNLOCK(vp, 0);
 			break;
 		}
-		vinvalbuf(vp, V_NORMAL, 0, 0);
+		vinvalbuf(vp, V_CLEANONLY, 0, 0);
 		if (vp->v_object != NULL) {
 			start = trunc_page(ap->a_start);
 			end = round_page(ap->a_end);
 			VM_OBJECT_LOCK(vp->v_object);
-			vm_object_page_remove(vp->v_object, OFF_TO_IDX(start),
-			    OFF_TO_IDX(end), OBJPR_CLEANONLY);
+			vm_object_page_cache(vp->v_object, OFF_TO_IDX(start),
+			    OFF_TO_IDX(end));
 			VM_OBJECT_UNLOCK(vp->v_object);
 		}
 		VOP_UNLOCK(vp, 0);



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