Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Jul 2017 06:07:44 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r321412 - in stable/11/sys: fs/nfsclient fs/smbfs vm
Message-ID:  <201707240607.v6O67ic9027384@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201707240607.v6O67ic9027384>