usr/src/uts/common/fs/fsflush.c
changeset 3290 256464cbb73c
parent 0 68f95e015346
child 3446 5903aece022d
equal deleted inserted replaced
3289:95e8ec05aa83 3290:256464cbb73c
     1 /*
     1 /*
     2  * CDDL HEADER START
     2  * CDDL HEADER START
     3  *
     3  *
     4  * The contents of this file are subject to the terms of the
     4  * The contents of this file are subject to the terms of the
     5  * Common Development and Distribution License, Version 1.0 only
     5  * Common Development and Distribution License (the "License").
     6  * (the "License").  You may not use this file except in compliance
     6  * You may not use this file except in compliance with the License.
     7  * with the License.
       
     8  *
     7  *
     9  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     8  * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
    10  * or http://www.opensolaris.org/os/licensing.
     9  * or http://www.opensolaris.org/os/licensing.
    11  * See the License for the specific language governing permissions
    10  * See the License for the specific language governing permissions
    12  * and limitations under the License.
    11  * and limitations under the License.
    22 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
    21 /*	Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T	*/
    23 /*	  All Rights Reserved  	*/
    22 /*	  All Rights Reserved  	*/
    24 
    23 
    25 
    24 
    26 /*
    25 /*
    27  * Copyright 2004 Sun Microsystems, Inc.  All rights reserved.
    26  * Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
    28  * Use is subject to license terms.
    27  * Use is subject to license terms.
    29  */
    28  */
    30 
    29 
    31 #pragma ident	"%Z%%M%	%I%	%E% SMI"
    30 #pragma ident	"%Z%%M%	%I%	%E% SMI"
    32 
    31 
   230 			continue;
   229 			continue;
   231 		} else {
   230 		} else {
   232 			coal_page = NULL;
   231 			coal_page = NULL;
   233 		}
   232 		}
   234 
   233 
   235 		if (pp->p_vnode == &kvp ||
   234 		if (PP_ISKAS(pp) ||
   236 		    PAGE_LOCKED(pp) ||
   235 		    PAGE_LOCKED(pp) ||
   237 		    pp->p_lckcnt != 0 ||
   236 		    pp->p_lckcnt != 0 ||
   238 		    pp->p_cowcnt != 0)
   237 		    pp->p_cowcnt != 0)
   239 			continue;
   238 			continue;
   240 
   239 
   253 		 */
   252 		 */
   254 		vp = pp->p_vnode;
   253 		vp = pp->p_vnode;
   255 		if (PP_ISSWAP(pp) ||
   254 		if (PP_ISSWAP(pp) ||
   256 		    PP_ISFREE(pp) ||
   255 		    PP_ISFREE(pp) ||
   257 		    vp == NULL ||
   256 		    vp == NULL ||
   258 		    vp == &kvp ||
   257 		    PP_ISKAS(pp) ||
   259 		    pp->p_lckcnt != 0 ||
   258 		    pp->p_lckcnt != 0 ||
   260 		    pp->p_cowcnt != 0 ||
   259 		    pp->p_cowcnt != 0 ||
   261 		    (vp->v_flag & VISSWAP) != 0) {
   260 		    (vp->v_flag & VISSWAP) != 0) {
   262 			page_unlock(pp);
   261 			page_unlock(pp);
   263 			continue;
   262 			continue;