aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2016-11-23 17:53:07 +0000
committerMark Johnston <markj@FreeBSD.org>2016-11-23 17:53:07 +0000
commit99e6e1930c2f9b6689d42f9d350488be2a5a5c6f (patch)
tree8fb6d291c479baafe6057022371a638c2348b803 /sys/vm
parenta65132c46865e6d3f3b09bb083e55136f1677da3 (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_pageout.c4
-rw-r--r--sys/vm/vm_pager.h1
-rw-r--r--sys/vm/vnode_pager.c1
3 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/vm_pageout.c b/sys/vm/vm_pageout.c
index 6c2cefe6462ce..a62aebdd28e39 100644
--- a/sys/vm/vm_pageout.c
+++ b/sys/vm/vm_pageout.c
@@ -483,8 +483,8 @@ more:
if (ib != 0 && pageout_count < vm_pageout_page_count)
goto more;
- return (vm_pageout_flush(&mc[page_base], pageout_count, 0, 0, NULL,
- NULL));
+ return (vm_pageout_flush(&mc[page_base], pageout_count,
+ VM_PAGER_PUT_NOREUSE, 0, NULL, NULL));
}
/*
diff --git a/sys/vm/vm_pager.h b/sys/vm/vm_pager.h
index f73cd004425b4..d7c5adf4f3006 100644
--- a/sys/vm/vm_pager.h
+++ b/sys/vm/vm_pager.h
@@ -95,6 +95,7 @@ extern struct pagerops mgtdevicepagerops;
#define VM_PAGER_PUT_SYNC 0x0001
#define VM_PAGER_PUT_INVAL 0x0002
+#define VM_PAGER_PUT_NOREUSE 0x0004
#define VM_PAGER_CLUSTER_OK 0x0008
#ifdef _KERNEL
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 0c55642d14c83..2d775061d049c 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -1280,6 +1280,7 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount,
else if ((flags & VM_PAGER_CLUSTER_OK) == 0)
ioflags |= IO_ASYNC;
ioflags |= (flags & VM_PAGER_PUT_INVAL) ? IO_INVAL: 0;
+ ioflags |= (flags & VM_PAGER_PUT_NOREUSE) ? IO_NOREUSE : 0;
ioflags |= IO_SEQMAX << IO_SEQSHIFT;
aiov.iov_base = (caddr_t) 0;