summaryrefslogtreecommitdiff
path: root/sys/miscfs/specfs
diff options
context:
space:
mode:
authorConstantine Sapuntzakis <csapuntz@cvs.openbsd.org>2001-02-24 19:07:13 +0000
committerConstantine Sapuntzakis <csapuntz@cvs.openbsd.org>2001-02-24 19:07:13 +0000
commitf80e08ef9a03c50fb30f2cda865b8b444c213bd5 (patch)
tree13504f32b391b348639ebfda7a10a993ed609f6b /sys/miscfs/specfs
parent1cca8b0da3d704e563e451a70cdec4da6d42904b (diff)
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/specfs')
-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);