summaryrefslogtreecommitdiff
path: root/sys/miscfs/deadfs
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2002-05-24 13:41:28 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2002-05-24 13:41:28 +0000
commit7bf02d637484379fae4ce3a6da030abeabd94e2c (patch)
tree1d195caa771249f10f88c0c0baf6927493b87b15 /sys/miscfs/deadfs
parent6b5e100a29b02706dce0b1e36a059d0222b7949e (diff)
splbio around biodone.
Diffstat (limited to 'sys/miscfs/deadfs')
-rw-r--r--sys/miscfs/deadfs/dead_vnops.c6
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));