summaryrefslogtreecommitdiffstats
path: root/sys/miscfs
diff options
context:
space:
mode:
authorcsapuntz <csapuntz@openbsd.org>2001-02-24 19:07:07 +0000
committercsapuntz <csapuntz@openbsd.org>2001-02-24 19:07:07 +0000
commit224f88c5ccb16e41d9e5e3df227e402a95e1cf0b (patch)
tree3fe34cddd4c08b641064e19d2fa15d1c27665a23 /sys/miscfs
parentAutomatic conflict resolution (diff)
downloadwireguard-openbsd-224f88c5ccb16e41d9e5e3df227e402a95e1cf0b.tar.xz
wireguard-openbsd-224f88c5ccb16e41d9e5e3df227e402a95e1cf0b.zip
Cleanup of vnode interface continues. Get rid of VHOLD/HOLDRELE.
Change VM/UVM to use buf_replacevnode to change the vnode associated with a buffer. Addition v_bioflag for flags written in interrupt handlers (and read at splbio, though not strictly necessary) Add vwaitforio and use it instead of a while loop of v_numoutput. Fix race conditions when manipulation vnode free list
Diffstat (limited to 'sys/miscfs')
-rw-r--r--sys/miscfs/specfs/spec_vnops.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c
index 234073b5d61..5d6281fc865 100644
--- a/sys/miscfs/specfs/spec_vnops.c
+++ b/sys/miscfs/specfs/spec_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: spec_vnops.c,v 1.16 2001/02/23 14:42:39 csapuntz Exp $ */
+/* $OpenBSD: spec_vnops.c,v 1.17 2001/02/24 19:07:10 csapuntz Exp $ */
/* $NetBSD: spec_vnops.c,v 1.29 1996/04/22 01:42:38 christos Exp $ */
/*
@@ -511,10 +511,8 @@ loop:
goto loop;
}
if (ap->a_waitfor == MNT_WAIT) {
- while (vp->v_numoutput) {
- vp->v_flag |= VBWAIT;
- sleep((caddr_t)&vp->v_numoutput, PRIBIO + 1);
- }
+ vwaitforio (vp, 0, "spec_fsync", 0);
+
#ifdef DIAGNOSTIC
if (vp->v_dirtyblkhd.lh_first) {
splx(s);