svn commit: r351575 - in head/sys: cddl/contrib/opensolaris/uts/common/fs/zfs kern

Mark Johnston markj at FreeBSD.org
Wed Aug 28 18:01:55 UTC 2019


Author: markj
Date: Wed Aug 28 18:01:54 2019
New Revision: 351575
URL: https://svnweb.freebsd.org/changeset/base/351575

Log:
  Avoid direct accesses of the vm_page wire_count field.
  
  No functional change intended.
  
  Sponsored by:	Netflix

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  head/sys/kern/vfs_bio.c

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Wed Aug 28 17:39:46 2019	(r351574)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Wed Aug 28 18:01:54 2019	(r351575)
@@ -593,7 +593,7 @@ mappedread_sf(vnode_t *vp, int nbytes, uio_t *uio)
 			vm_page_sunbusy(pp);
 			vm_page_lock(pp);
 			if (error) {
-				if (pp->wire_count == 0 && pp->valid == 0 &&
+				if (!vm_page_wired(pp) && pp->valid == 0 &&
 				    !vm_page_busied(pp))
 					vm_page_free(pp);
 			} else {

Modified: head/sys/kern/vfs_bio.c
==============================================================================
--- head/sys/kern/vfs_bio.c	Wed Aug 28 17:39:46 2019	(r351574)
+++ head/sys/kern/vfs_bio.c	Wed Aug 28 18:01:54 2019	(r351575)
@@ -4881,10 +4881,9 @@ vm_hold_free_pages(struct buf *bp, int newbsize)
 	for (index = newnpages; index < bp->b_npages; index++) {
 		p = bp->b_pages[index];
 		bp->b_pages[index] = NULL;
-		p->wire_count--;
+		vm_page_unwire_noq(p);
 		vm_page_free(p);
 	}
-	vm_wire_sub(bp->b_npages - newnpages);
 	bp->b_npages = newnpages;
 }
 


More information about the svn-src-head mailing list