summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbluhm <bluhm@openbsd.org>2018-07-02 20:56:22 +0000
committerbluhm <bluhm@openbsd.org>2018-07-02 20:56:22 +0000
commit3ae16189a64919bf5e81252c76e38d0a4cb31813 (patch)
tree41deb0053859635731a6937686bab916754942b1
parentBe more precise in the function description and rename _iflist to (diff)
downloadwireguard-openbsd-3ae16189a64919bf5e81252c76e38d0a4cb31813.tar.xz
wireguard-openbsd-3ae16189a64919bf5e81252c76e38d0a4cb31813.zip
Use more list macros for v_dirtyblkhd.
OK mpi@
-rw-r--r--sys/kern/spec_vnops.c5
-rw-r--r--sys/kern/vfs_subr.c6
-rw-r--r--sys/nfs/nfs_subs.c7
-rw-r--r--sys/nfs/nfs_vfsops.c4
-rw-r--r--sys/nfs/nfs_vnops.c14
-rw-r--r--sys/ufs/ffs/ffs_softdep.c7
-rw-r--r--sys/ufs/ffs/ffs_vnops.c9
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