diff options
| author | Mark Johnston <markj@FreeBSD.org> | 2016-11-23 17:53:07 +0000 |
|---|---|---|
| committer | Mark Johnston <markj@FreeBSD.org> | 2016-11-23 17:53:07 +0000 |
| commit | 99e6e1930c2f9b6689d42f9d350488be2a5a5c6f (patch) | |
| tree | 8fb6d291c479baafe6057022371a638c2348b803 /sys/vm | |
| parent | a65132c46865e6d3f3b09bb083e55136f1677da3 (diff) | |
Notes
Diffstat (limited to 'sys/vm')
| -rw-r--r-- | sys/vm/vm_pageout.c | 4 | ||||
| -rw-r--r-- | sys/vm/vm_pager.h | 1 | ||||
| -rw-r--r-- | sys/vm/vnode_pager.c | 1 |
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; |
