In sync, skip over vnodes based on if they are clean rather than
if they have pages.
This commit is contained in:
parent
52c8d9f862
commit
9137aeda4b
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue