In sync, skip over vnodes based on if they are clean rather than

if they have pages.
This commit is contained in:
pooka 2007-07-20 16:46:43 +00:00
parent 52c8d9f862
commit 9137aeda4b
6 changed files with 18 additions and 18 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: msdosfs_vfsops.c,v 1.47 2007/07/17 11:19:32 pooka Exp $ */
/* $NetBSD: msdosfs_vfsops.c,v 1.48 2007/07/20 16:46:43 pooka Exp $ */
/*-
* Copyright (C) 1994, 1995, 1997 Wolfgang Solfrank.
@ -48,7 +48,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.47 2007/07/17 11:19:32 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: msdosfs_vfsops.c,v 1.48 2007/07/20 16:46:43 pooka Exp $");
#if defined(_KERNEL_OPT)
#include "opt_quota.h"
@ -994,7 +994,7 @@ loop:
(((dep->de_flag &
(DE_ACCESS | DE_CREATE | DE_UPDATE | DE_MODIFIED)) == 0) &&
(LIST_EMPTY(&vp->v_dirtyblkhd) &&
vp->v_uobj.uo_npages == 0))) {
UVM_OBJ_IS_CLEAN(&vp->v_uobj)))) {
simple_unlock(&vp->v_interlock);
continue;
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: smbfs_vfsops.c,v 1.67 2007/07/17 11:19:33 pooka Exp $ */
/* $NetBSD: smbfs_vfsops.c,v 1.68 2007/07/20 16:46:44 pooka Exp $ */
/*
* Copyright (c) 2000-2001, Boris Popov
@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: smbfs_vfsops.c,v 1.67 2007/07/17 11:19:33 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: smbfs_vfsops.c,v 1.68 2007/07/20 16:46:44 pooka Exp $");
#ifdef _KERNEL_OPT
#include "opt_quota.h"
@ -461,7 +461,7 @@ loop:
if ((vp->v_type == VNON || (np->n_flag & NMODIFIED) == 0) &&
LIST_EMPTY(&vp->v_dirtyblkhd) &&
vp->v_uobj.uo_npages == 0) {
UVM_OBJ_IS_CLEAN(&vp->v_uobj)) {
simple_unlock(&vp->v_interlock);
continue;
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: nfs_vfsops.c,v 1.179 2007/07/17 11:19:35 pooka Exp $ */
/* $NetBSD: nfs_vfsops.c,v 1.180 2007/07/20 16:46:44 pooka Exp $ */
/*
* Copyright (c) 1989, 1993, 1995
@ -35,7 +35,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: nfs_vfsops.c,v 1.179 2007/07/17 11:19:35 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: nfs_vfsops.c,v 1.180 2007/07/20 16:46:44 pooka Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_netbsd.h"
@ -969,7 +969,7 @@ loop:
nvp = TAILQ_NEXT(vp, v_mntvnodes);
if (waitfor == MNT_LAZY || VOP_ISLOCKED(vp) ||
(LIST_EMPTY(&vp->v_dirtyblkhd) &&
vp->v_uobj.uo_npages == 0))
UVM_OBJ_IS_CLEAN(&vp->v_uobj)))
continue;
if (vget(vp, LK_EXCLUSIVE))
goto loop;

View File

@ -1,4 +1,4 @@
/* $NetBSD: ext2fs_vfsops.c,v 1.114 2007/07/17 11:19:35 pooka Exp $ */
/* $NetBSD: ext2fs_vfsops.c,v 1.115 2007/07/20 16:46:44 pooka Exp $ */
/*
* Copyright (c) 1989, 1991, 1993, 1994
@ -65,7 +65,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.114 2007/07/17 11:19:35 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: ext2fs_vfsops.c,v 1.115 2007/07/20 16:46:44 pooka Exp $");
#if defined(_KERNEL_OPT)
#include "opt_compat_netbsd.h"
@ -869,7 +869,7 @@ loop:
((ip->i_flag &
(IN_CHANGE | IN_UPDATE | IN_MODIFIED)) == 0 &&
LIST_EMPTY(&vp->v_dirtyblkhd) &&
vp->v_uobj.uo_npages == 0))
UVM_OBJ_IS_CLEAN(&vp->v_uobj)))
{
simple_unlock(&vp->v_interlock);
continue;

View File

@ -1,4 +1,4 @@
/* $NetBSD: ffs_vfsops.c,v 1.205 2007/07/17 11:19:39 pooka Exp $ */
/* $NetBSD: ffs_vfsops.c,v 1.206 2007/07/20 16:46:45 pooka Exp $ */
/*
* Copyright (c) 1989, 1991, 1993, 1994
@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.205 2007/07/17 11:19:39 pooka Exp $");
__KERNEL_RCSID(0, "$NetBSD: ffs_vfsops.c,v 1.206 2007/07/20 16:46:45 pooka Exp $");
#if defined(_KERNEL_OPT)
#include "opt_ffs.h"
@ -1335,7 +1335,7 @@ loop:
((ip->i_flag &
(IN_CHANGE | IN_UPDATE | IN_MODIFIED)) == 0 &&
LIST_EMPTY(&vp->v_dirtyblkhd) &&
vp->v_uobj.uo_npages == 0))
UVM_OBJ_IS_CLEAN(&vp->v_uobj)))
{
simple_unlock(&vp->v_interlock);
continue;

View File

@ -1,4 +1,4 @@
/* $NetBSD: ffs_vnops.c,v 1.88 2007/06/05 12:31:34 yamt Exp $ */
/* $NetBSD: ffs_vnops.c,v 1.89 2007/07/20 16:46:45 pooka Exp $ */
/*
* Copyright (c) 1982, 1986, 1989, 1993
@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.88 2007/06/05 12:31:34 yamt Exp $");
__KERNEL_RCSID(0, "$NetBSD: ffs_vnops.c,v 1.89 2007/07/20 16:46:45 pooka Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@ -360,7 +360,7 @@ ffs_full_fsync(void *v)
softdep_fsync_mountdev(vp);
inodedeps_only = DOINGSOFTDEP(vp) && (ap->a_flags & FSYNC_RECLAIM)
&& vp->v_uobj.uo_npages == 0 && LIST_EMPTY(&vp->v_dirtyblkhd);
&& UVM_OBJ_IS_CLEAN(&vp->v_uobj) && LIST_EMPTY(&vp->v_dirtyblkhd);
/*
* Flush all dirty data associated with a vnode.