diff options
| author | Greg Lehey <grog@FreeBSD.org> | 1999-08-26 03:26:39 +0000 |
|---|---|---|
| committer | Greg Lehey <grog@FreeBSD.org> | 1999-08-26 03:26:39 +0000 |
| commit | 35b5051ab9d6a68463d849ca208ec26d959f4fe1 (patch) | |
| tree | a1ae0c5120d6be9394a21936cd162b293a0ac9cc | |
| parent | ca558379901de1521c85f25c0587f2b6f0e66c2a (diff) | |
Notes
| -rw-r--r-- | sys/dev/vinum/vinuminterrupt.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/vinum/vinuminterrupt.c b/sys/dev/vinum/vinuminterrupt.c index e497d6ca8d78..448dad2052c1 100644 --- a/sys/dev/vinum/vinuminterrupt.c +++ b/sys/dev/vinum/vinuminterrupt.c @@ -323,7 +323,8 @@ complete_raid5_write(struct rqelement *rqe) &&((rqe->flags & XFR_BAD_SUBDISK) == 0)) { /* and we can write this block */ rqe->b.b_flags &= ~(B_READ | B_DONE); /* we're writing now */ rqe->b.b_flags |= B_CALL; /* call us when you're done */ - rqe->flags &= ~XFR_PARITYOP; /* reset flags that brought use here */ + rqe->b.b_iodone = complete_rqe; /* by calling us here */ + rqe->flags &= ~XFR_PARITYOP; /* reset flags that brought us here */ rqe->b.b_data = &bp->b_data[rqe->useroffset << DEV_BSHIFT]; /* point to the user data */ rqe->b.b_bcount = rqe->datalen << DEV_BSHIFT; /* length to write */ rqe->b.b_bufsize = rqe->b.b_bcount; /* don't claim more */ @@ -360,8 +361,8 @@ complete_raid5_write(struct rqelement *rqe) rqe = &rqg->rqe[0]; rqe->b.b_flags &= ~(B_READ | B_DONE); /* we're writing now */ rqe->b.b_flags |= B_CALL; /* call us when you're done */ - rqe->flags &= ~XFR_PARITYOP; /* reset flags that brought use here */ - rqg->flags &= ~XFR_PARITYOP; /* reset flags that brought use here */ + rqe->b.b_iodone = complete_rqe; /* by calling us here */ + rqg->flags &= ~XFR_PARITYOP; /* reset flags that brought us here */ rqe->b.b_bcount = rqe->buflen << DEV_BSHIFT; /* length to write */ rqe->b.b_bufsize = rqe->b.b_bcount; /* don't claim we have more */ rqe->b.b_resid = rqe->b.b_bcount; /* nothing transferred */ |
