PERFORCE change 200663 for review
John Baldwin
jhb at FreeBSD.org
Mon Oct 24 18:42:56 UTC 2011
http://p4web.freebsd.org/@@200663?ac=10
Change 200663 by jhb at 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);
More information about the p4-projects
mailing list