From f80e08ef9a03c50fb30f2cda865b8b444c213bd5 Mon Sep 17 00:00:00 2001 From: Constantine Sapuntzakis Date: Sat, 24 Feb 2001 19:07:13 +0000 Subject: 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 --- sys/miscfs/specfs/spec_vnops.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'sys/miscfs/specfs') 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); -- cgit v1.2.3