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/ufs/ffs/ffs_softdep.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'sys/ufs/ffs/ffs_softdep.c') diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 570beca3f30..a5e663a4fb8 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.13 2001/02/23 14:52:51 csapuntz Exp $ */ +/* $OpenBSD: ffs_softdep.c,v 1.14 2001/02/24 19:07:09 csapuntz Exp $ */ /* * Copyright 1998, 2000 Marshall Kirk McKusick. All Rights Reserved. * @@ -4796,13 +4796,13 @@ drain_output(vp, islocked) struct vnode *vp; int islocked; { - + if (!islocked) ACQUIRE_LOCK(&lk); while (vp->v_numoutput) { - vp->v_flag |= VBWAIT; + vp->v_bioflag |= VBIOWAIT; FREE_LOCK_INTERLOCKED(&lk); - tsleep((caddr_t)&vp->v_numoutput, PRIBIO + 1, "drainvp", 0); + tsleep((caddr_t)&vp->v_numoutput, PRIBIO + 1, "drain_output", 0); ACQUIRE_LOCK_INTERLOCKED(&lk); } if (!islocked) -- cgit v1.2.3