Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Nov 2010 19:32:03 +0000 (UTC)
From:      Andriy Gapon <avg@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r214941 - stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs
Message-ID:  <201011071932.oA7JW3BY072220@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: avg
Date: Sun Nov  7 19:32:03 2010
New Revision: 214941
URL: http://svn.freebsd.org/changeset/base/214941

Log:
  Followup to r214936: zfs_getpages: account for differences from head
  in page locking

Modified:
  stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c

Modified: stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Sun Nov  7 19:23:25 2010	(r214940)
+++ stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Sun Nov  7 19:32:03 2010	(r214941)
@@ -4181,14 +4181,13 @@ zfs_getpages(struct vnode *vp, vm_page_t
 	KASSERT(vp->v_object == object, ("mismatching object"));
 
 	VM_OBJECT_LOCK(object);
-
+	vm_page_lock_queues();
 	for (i = 0; i < pcount; i++) {
 		if (i != reqpage) {
-			vm_page_lock(m[i]);
 			vm_page_free(m[i]);
-			vm_page_unlock(m[i]);
 		}
 	}
+	vm_page_unlock_queues();
 
 	if (mreq->valid) {
 		if (mreq->valid != VM_PAGE_BITS_ALL)



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