aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Lehey <grog@FreeBSD.org>1999-10-17 23:55:10 +0000
committerGreg Lehey <grog@FreeBSD.org>1999-10-17 23:55:10 +0000
commit54cd2d33094236800838d3d5a13e070bfaa23885 (patch)
treed358a81d983c6371a19104f55e16de5e3dd95e62
parenteb5fe92141568ad04a12580f1360cf342ad280ec (diff)
Notes
-rw-r--r--sys/dev/vinum/vinumrequest.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/vinum/vinumrequest.c b/sys/dev/vinum/vinumrequest.c
index 346527e0d285..d52784543f86 100644
--- a/sys/dev/vinum/vinumrequest.c
+++ b/sys/dev/vinum/vinumrequest.c
@@ -383,6 +383,7 @@ launch_requests(struct request *rq, int reviveok)
}
/* Now fire off the requests */
+ s = splbio(); /* lock out the interrupt routines */
for (rqg = rq->rqg; rqg != NULL; rqg = rqg->next) { /* through the whole request chain */
for (rqno = 0; rqno < rqg->count; rqno++) {
rqe = &rqg->rqe[rqno];
@@ -419,11 +420,9 @@ launch_requests(struct request *rq, int reviveok)
logrq(loginfo_rqe, (union rqinfou) rqe, rq->bp);
#endif
- if ((rqe->b.b_flags & B_READ) == 0) {
- s = splbio();
+ if ((rqe->b.b_flags & B_READ) == 0)
rqe->b.b_vp->v_numoutput++; /* one more output going */
- splx(s);
- }
+
rqe->b.b_flags |= B_ORDERED; /* stick to the request order */
/* fire off the request */
@@ -431,6 +430,7 @@ launch_requests(struct request *rq, int reviveok)
}
}
}
+ splx(s);
return 0;
}