diff options
author | 2018-07-02 20:56:22 +0000 | |
---|---|---|
committer | 2018-07-02 20:56:22 +0000 | |
commit | 3ae16189a64919bf5e81252c76e38d0a4cb31813 (patch) | |
tree | 41deb0053859635731a6937686bab916754942b1 | |
parent | Be more precise in the function description and rename _iflist to (diff) | |
download | wireguard-openbsd-3ae16189a64919bf5e81252c76e38d0a4cb31813.tar.xz wireguard-openbsd-3ae16189a64919bf5e81252c76e38d0a4cb31813.zip |
Use more list macros for v_dirtyblkhd.
OK mpi@
-rw-r--r-- | sys/kern/spec_vnops.c | 5 | ||||
-rw-r--r-- | sys/kern/vfs_subr.c | 6 | ||||
-rw-r--r-- | sys/nfs/nfs_subs.c | 7 | ||||
-rw-r--r-- | sys/nfs/nfs_vfsops.c | 4 | ||||
-rw-r--r-- | sys/nfs/nfs_vnops.c | 14 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 7 | ||||
-rw-r--r-- | sys/ufs/ffs/ffs_vnops.c | 9 |
7 files changed, 22 insertions, 30 deletions
diff --git a/sys/kern/spec_vnops.c b/sys/kern/spec_vnops.c index 700e6ee83d9..6a5fdd4b559 100644 --- a/sys/kern/spec_vnops.c +++ b/sys/kern/spec_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: spec_vnops.c,v 1.92 2018/05/02 02:24:56 visa Exp $ */ +/* $OpenBSD: spec_vnops.c,v 1.93 2018/07/02 20:56:22 bluhm Exp $ */ /* $NetBSD: spec_vnops.c,v 1.29 1996/04/22 01:42:38 christos Exp $ */ /* @@ -429,8 +429,7 @@ spec_fsync(void *v) */ loop: s = splbio(); - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); bp != NULL; bp = nbp) { - nbp = LIST_NEXT(bp, b_vnbufs); + LIST_FOREACH_SAFE(bp, &vp->v_dirtyblkhd, b_vnbufs, nbp) { if ((bp->b_flags & B_BUSY)) continue; if ((bp->b_flags & B_DELWRI) == 0) diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 82ae1230b13..353d94e3c76 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_subr.c,v 1.275 2018/06/06 19:02:38 bluhm Exp $ */ +/* $OpenBSD: vfs_subr.c,v 1.276 2018/07/02 20:56:22 bluhm Exp $ */ /* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */ /* @@ -2025,7 +2025,7 @@ brelvp(struct buf *bp) if (LIST_NEXT(bp, b_vnbufs) != NOLIST) bufremvn(bp); if ((vp->v_bioflag & VBIOONSYNCLIST) && - LIST_FIRST(&vp->v_dirtyblkhd) == NULL) { + LIST_EMPTY(&vp->v_dirtyblkhd)) { vp->v_bioflag &= ~VBIOONSYNCLIST; LIST_REMOVE(vp, v_synclist); } @@ -2091,7 +2091,7 @@ reassignbuf(struct buf *bp) if ((bp->b_flags & B_DELWRI) == 0) { listheadp = &vp->v_cleanblkhd; if ((vp->v_bioflag & VBIOONSYNCLIST) && - LIST_FIRST(&vp->v_dirtyblkhd) == NULL) { + LIST_EMPTY(&vp->v_dirtyblkhd)) { vp->v_bioflag &= ~VBIOONSYNCLIST; LIST_REMOVE(vp, v_synclist); } diff --git a/sys/nfs/nfs_subs.c b/sys/nfs/nfs_subs.c index 6b141a1b4f4..20b848ca847 100644 --- a/sys/nfs/nfs_subs.c +++ b/sys/nfs/nfs_subs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_subs.c,v 1.136 2018/04/28 03:13:05 visa Exp $ */ +/* $OpenBSD: nfs_subs.c,v 1.137 2018/07/02 20:56:22 bluhm Exp $ */ /* $NetBSD: nfs_subs.c,v 1.27.4.3 1996/07/08 20:34:24 jtc Exp $ */ /* @@ -1519,10 +1519,9 @@ loop: if (vp->v_mount != mp) /* Paranoia */ goto loop; nvp = LIST_NEXT(vp, v_mntvnodes); - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); bp != NULL; bp = nbp) { - nbp = LIST_NEXT(bp, b_vnbufs); + LIST_FOREACH_SAFE(bp, &vp->v_dirtyblkhd, b_vnbufs, nbp) { if ((bp->b_flags & (B_BUSY | B_DELWRI | B_NEEDCOMMIT)) - == (B_DELWRI | B_NEEDCOMMIT)) + == (B_DELWRI | B_NEEDCOMMIT)) bp->b_flags &= ~B_NEEDCOMMIT; } } diff --git a/sys/nfs/nfs_vfsops.c b/sys/nfs/nfs_vfsops.c index d2dbc4a09dc..024416981e2 100644 --- a/sys/nfs/nfs_vfsops.c +++ b/sys/nfs/nfs_vfsops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_vfsops.c,v 1.121 2018/05/27 06:02:15 visa Exp $ */ +/* $OpenBSD: nfs_vfsops.c,v 1.122 2018/07/02 20:56:22 bluhm Exp $ */ /* $NetBSD: nfs_vfsops.c,v 1.46.4.1 1996/05/25 22:40:35 fvdl Exp $ */ /* @@ -812,7 +812,7 @@ loop: */ if (vp->v_mount != mp) goto loop; - if (VOP_ISLOCKED(vp) || LIST_FIRST(&vp->v_dirtyblkhd) == NULL) + if (VOP_ISLOCKED(vp) || LIST_EMPTY(&vp->v_dirtyblkhd)) continue; if (vget(vp, LK_EXCLUSIVE)) goto loop; diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index 09996f30c7f..b923a5fba8b 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_vnops.c,v 1.178 2018/06/21 14:17:23 visa Exp $ */ +/* $OpenBSD: nfs_vnops.c,v 1.179 2018/07/02 20:56:22 bluhm Exp $ */ /* $NetBSD: nfs_vnops.c,v 1.62.4.1 1996/07/08 20:26:52 jtc Exp $ */ /* @@ -2867,18 +2867,15 @@ again: bvecpos = 0; if (NFS_ISV3(vp) && commit) { s = splbio(); - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); bp != NULL; bp = nbp) { + LIST_FOREACH_SAFE(bp, &vp->v_dirtyblkhd, b_vnbufs, nbp) { if (bvecpos >= NFS_COMMITBVECSIZ) break; if ((bp->b_flags & (B_BUSY | B_DELWRI | B_NEEDCOMMIT)) - != (B_DELWRI | B_NEEDCOMMIT)) { - nbp = LIST_NEXT(bp, b_vnbufs); + != (B_DELWRI | B_NEEDCOMMIT)) continue; - } bremfree(bp); bp->b_flags |= B_WRITEINPROG; buf_acquire(bp); - nbp = LIST_NEXT(bp, b_vnbufs); /* * A list of these buffers is kept so that the @@ -2939,8 +2936,7 @@ again: */ loop: s = splbio(); - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); bp != NULL; bp = nbp) { - nbp = LIST_NEXT(bp, b_vnbufs); + LIST_FOREACH_SAFE(bp, &vp->v_dirtyblkhd, b_vnbufs, nbp) { if (bp->b_flags & B_BUSY) { if (waitfor != MNT_WAIT || passone) continue; @@ -2993,7 +2989,7 @@ loop: goto loop2; } - if (LIST_FIRST(&vp->v_dirtyblkhd) && commit) { + if (!LIST_EMPTY(&vp->v_dirtyblkhd) && commit) { #if 0 vprint("nfs_fsync: dirty", vp); #endif diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 23a54fa94b3..c8ee770d2b6 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_softdep.c,v 1.142 2018/05/02 02:24:56 visa Exp $ */ +/* $OpenBSD: ffs_softdep.c,v 1.143 2018/07/02 20:56:22 bluhm Exp $ */ /* * Copyright 1998, 2000 Marshall Kirk McKusick. All Rights Reserved. @@ -4640,8 +4640,7 @@ softdep_fsync_mountdev(struct vnode *vp, int waitfor) if (!vn_isdisk(vp, NULL)) panic("softdep_fsync_mountdev: vnode not a disk"); ACQUIRE_LOCK(&lk); - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); bp; bp = nbp) { - nbp = LIST_NEXT(bp, b_vnbufs); + LIST_FOREACH_SAFE(bp, &vp->v_dirtyblkhd, b_vnbufs, nbp) { /* * If it is already scheduled, skip to the next buffer. */ @@ -4932,7 +4931,7 @@ loop: * all potential buffers on the dirty list will be visible. */ drain_output(vp, 1); - if (LIST_FIRST(&vp->v_dirtyblkhd) == NULL) { + if (LIST_EMPTY(&vp->v_dirtyblkhd)) { FREE_LOCK(&lk); return (0); } diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 0d14649adf0..99aeed83fd4 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ffs_vnops.c,v 1.90 2018/01/13 15:56:02 millert Exp $ */ +/* $OpenBSD: ffs_vnops.c,v 1.91 2018/07/02 20:56:22 bluhm Exp $ */ /* $NetBSD: ffs_vnops.c,v 1.7 1996/05/11 18:27:24 mycroft Exp $ */ /* @@ -435,11 +435,10 @@ ffs_fsync(void *v) skipmeta = 1; s = splbio(); loop: - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); bp; - bp = LIST_NEXT(bp, b_vnbufs)) + LIST_FOREACH(bp, &vp->v_dirtyblkhd, b_vnbufs) { bp->b_flags &= ~B_SCANNED; - for (bp = LIST_FIRST(&vp->v_dirtyblkhd); bp; bp = nbp) { - nbp = LIST_NEXT(bp, b_vnbufs); + } + LIST_FOREACH_SAFE(bp, &vp->v_dirtyblkhd, b_vnbufs, nbp) { /* * Reasons to skip this buffer: it has already been considered * on this pass, this pass is the first time through on a |