diff options
author | Artur Grabowski <art@cvs.openbsd.org> | 2002-05-24 13:41:28 +0000 |
---|---|---|
committer | Artur Grabowski <art@cvs.openbsd.org> | 2002-05-24 13:41:28 +0000 |
commit | 7bf02d637484379fae4ce3a6da030abeabd94e2c (patch) | |
tree | 1d195caa771249f10f88c0c0baf6927493b87b15 /sys/miscfs/deadfs | |
parent | 6b5e100a29b02706dce0b1e36a059d0222b7949e (diff) |
splbio around biodone.
Diffstat (limited to 'sys/miscfs/deadfs')
-rw-r--r-- | sys/miscfs/deadfs/dead_vnops.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/miscfs/deadfs/dead_vnops.c b/sys/miscfs/deadfs/dead_vnops.c index 313345eac2d..7ca3c4a7800 100644 --- a/sys/miscfs/deadfs/dead_vnops.c +++ b/sys/miscfs/deadfs/dead_vnops.c @@ -1,4 +1,4 @@ -/* $OpenBSD: dead_vnops.c,v 1.11 2002/03/14 01:27:07 millert Exp $ */ +/* $OpenBSD: dead_vnops.c,v 1.12 2002/05/24 13:41:27 art Exp $ */ /* $NetBSD: dead_vnops.c,v 1.16 1996/02/13 13:12:48 mycroft Exp $ */ /* @@ -248,9 +248,13 @@ dead_strategy(v) struct vop_strategy_args /* { struct buf *a_bp; } */ *ap = v; + int s; + if (ap->a_bp->b_vp == NULL || !chkvnlock(ap->a_bp->b_vp)) { ap->a_bp->b_flags |= B_ERROR; + s = splbio(); biodone(ap->a_bp); + splx(s); return (EIO); } return (VOP_STRATEGY(ap->a_bp)); |