svn commit: r214941 - stable/8/sys/cddl/contrib/opensolaris/uts/common/fs/zfs

Andriy Gapon avg at freebsd.org
Mon Nov 8 09:18:39 UTC 2010


on 07/11/2010 21:32 Andriy Gapon said the following:
> 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

Reported by:		jhell at DataIX.net
Report overlooked by:	avg

> 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)


-- 
Andriy Gapon


More information about the svn-src-all mailing list