From adbe22e173705861cc4e68ec0cdb258dbb73f9eb Mon Sep 17 00:00:00 2001 From: Peter Telford Date: Thu, 30 Oct 2008 08:31:34 -0700 Subject: 6703850 VMODSORT functionality in pvn_vplist_dirty fails if given offset exceeds highest clean page offset --- usr/src/uts/common/vm/vm_pvn.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'usr/src') diff --git a/usr/src/uts/common/vm/vm_pvn.c b/usr/src/uts/common/vm/vm_pvn.c index b7f4249f4c..186235767d 100644 --- a/usr/src/uts/common/vm/vm_pvn.c +++ b/usr/src/uts/common/vm/vm_pvn.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2007 Sun Microsystems, Inc. All rights reserved. + * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -36,8 +36,6 @@ * contributors. */ -#pragma ident "%Z%%M% %I% %E% SMI" - /* * VM - paged vnode. * @@ -839,16 +837,6 @@ pvn_vplist_dirty( ASSERT(pp->p_vnode == vp); - /* - * Skip this page if the offset is out of the desired range. - * Just move the marker and continue. - */ - if (pp->p_offset < off) { - page_vpsub(&vp->v_pages, mark); - page_vpadd(where_to_move, mark); - continue; - } - /* * If just flushing dirty pages to disk and this vnode * is using a sorted list of pages, we can stop processing @@ -900,6 +888,16 @@ pvn_vplist_dirty( } } + /* + * Skip this page if the offset is out of the desired range. + * Just move the marker and continue. + */ + if (pp->p_offset < off) { + page_vpsub(&vp->v_pages, mark); + page_vpadd(where_to_move, mark); + continue; + } + /* * If we are supposed to invalidate or free this * page, then we need an exclusive lock. -- cgit v1.2.3