diff options
author | kib <kib@FreeBSD.org> | 2018-02-05 10:29:57 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2018-02-05 10:29:57 +0000 |
commit | 6fdd7d270eb3f8df19379f3321e7c0dd97c400b7 (patch) | |
tree | 61b2fe31bdda5b7aaa48c46c92239e8b71e1e998 | |
parent | 2fffd1438f15bf2cd47a008f00b45e84f811e0ea (diff) | |
download | FreeBSD-src-6fdd7d270eb3f8df19379f3321e7c0dd97c400b7.zip FreeBSD-src-6fdd7d270eb3f8df19379f3321e7c0dd97c400b7.tar.gz |
MFC r328773:
On pageout, in vnode generic pager, for partially dirty page, only
clear dirty bits for completely invalid blocks.
PR: 225586
-rw-r--r-- | sys/vm/vnode_pager.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 30b02c4..45f06e6 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -1223,6 +1223,8 @@ vnode_pager_generic_putpages(struct vnode *vp, vm_page_t *ma, int bytecount, maxsize = object->un_pager.vnp.vnp_size - poffset; ncount = btoc(maxsize); if ((pgoff = (int)maxsize & PAGE_MASK) != 0) { + pgoff = roundup2(pgoff, DEV_BSIZE); + /* * If the object is locked and the following * conditions hold, then the page's dirty |