svn commit: r321412 - in stable/11/sys: fs/nfsclient fs/smbfs vm
Alexander Motin
mav at FreeBSD.org
Mon Jul 24 06:07:46 UTC 2017
Author: mav
Date: Mon Jul 24 06:07:44 2017
New Revision: 321412
URL: https://svnweb.freebsd.org/changeset/base/321412
Log:
Revert unexpected changes leaked into r321411.
Modified:
stable/11/sys/fs/nfsclient/nfs_clbio.c
stable/11/sys/fs/smbfs/smbfs_io.c
stable/11/sys/vm/vnode_pager.c
stable/11/sys/vm/vnode_pager.h
Modified: stable/11/sys/fs/nfsclient/nfs_clbio.c
==============================================================================
--- stable/11/sys/fs/nfsclient/nfs_clbio.c Mon Jul 24 05:52:10 2017 (r321411)
+++ stable/11/sys/fs/nfsclient/nfs_clbio.c Mon Jul 24 06:07:44 2017 (r321412)
@@ -337,10 +337,8 @@ ncl_putpages(struct vop_putpages_args *ap)
cred);
crfree(cred);
- if (error == 0 || !nfs_keep_dirty_on_error) {
- vnode_pager_undirty_pages(pages, rtvals, count - uio.uio_resid,
- np->n_size - offset, npages * PAGE_SIZE);
- }
+ if (error == 0 || !nfs_keep_dirty_on_error)
+ vnode_pager_undirty_pages(pages, rtvals, count - uio.uio_resid);
return (rtvals[0]);
}
Modified: stable/11/sys/fs/smbfs/smbfs_io.c
==============================================================================
--- stable/11/sys/fs/smbfs/smbfs_io.c Mon Jul 24 05:52:10 2017 (r321411)
+++ stable/11/sys/fs/smbfs/smbfs_io.c Mon Jul 24 06:07:44 2017 (r321412)
@@ -621,11 +621,9 @@ smbfs_putpages(ap)
relpbuf(bp, &smbfs_pbuf_freecnt);
- if (error == 0) {
- vnode_pager_undirty_pages(pages, rtvals, count - uio.uio_resid,
- npages * PAGE_SIZE, npages * PAGE_SIZE);
- }
- return (rtvals[0]);
+ if (!error)
+ vnode_pager_undirty_pages(pages, rtvals, count - uio.uio_resid);
+ return rtvals[0];
#endif /* SMBFS_RWGENERIC */
}
Modified: stable/11/sys/vm/vnode_pager.c
==============================================================================
--- stable/11/sys/vm/vnode_pager.c Mon Jul 24 05:52:10 2017 (r321411)
+++ stable/11/sys/vm/vnode_pager.c Mon Jul 24 06:07:44 2017 (r321412)
@@ -1277,13 +1277,12 @@ vnode_pager_putpages_ioflags(int pager_flags)
}
void
-vnode_pager_undirty_pages(vm_page_t *ma, int *rtvals, int written, int eof,
- int lpos)
+vnode_pager_undirty_pages(vm_page_t *ma, int *rtvals, int written)
{
vm_object_t obj;
- int i, pos, pos_devb;
+ int i, pos;
- if (written == 0 && eof >= lpos)
+ if (written == 0)
return;
obj = ma[0]->object;
VM_OBJECT_WLOCK(obj);
@@ -1295,20 +1294,6 @@ vnode_pager_undirty_pages(vm_page_t *ma, int *rtvals,
/* Partially written page. */
rtvals[i] = VM_PAGER_AGAIN;
vm_page_clear_dirty(ma[i], 0, written & PAGE_MASK);
- }
- }
- for (pos = eof, i = OFF_TO_IDX(trunc_page(pos)); pos < lpos; i++) {
- if (pos != trunc_page(pos)) {
- pos_devb = roundup2(pos, DEV_BSIZE) & PAGE_MASK;
- vm_page_clear_dirty(ma[i], pos_devb, PAGE_SIZE -
- pos_devb);
- if (ma[i]->dirty == VM_PAGE_BITS_ALL)
- rtvals[i] = VM_PAGER_OK;
- pos = round_page(pos);
- } else {
- /* vm_pageout_flush() clears dirty */
- rtvals[i] = VM_PAGER_BAD;
- pos += PAGE_SIZE;
}
}
VM_OBJECT_WUNLOCK(obj);
Modified: stable/11/sys/vm/vnode_pager.h
==============================================================================
--- stable/11/sys/vm/vnode_pager.h Mon Jul 24 05:52:10 2017 (r321411)
+++ stable/11/sys/vm/vnode_pager.h Mon Jul 24 06:07:44 2017 (r321412)
@@ -50,8 +50,7 @@ int vnode_pager_local_getpages_async(struct vop_getpag
int vnode_pager_putpages_ioflags(int pager_flags);
void vnode_pager_release_writecount(vm_object_t object, vm_offset_t start,
vm_offset_t end);
-void vnode_pager_undirty_pages(vm_page_t *ma, int *rtvals, int written,
- int eof, int lpos);
+void vnode_pager_undirty_pages(vm_page_t *ma, int *rtvals, int written);
void vnode_pager_update_writecount(vm_object_t object, vm_offset_t start,
vm_offset_t end);
More information about the svn-src-stable-11
mailing list