complete_rqe: Handle volume read stats here with other objects.
Previously vinumstrategy counted the bytes before they were hatched, giving rise to strangenesses when a read failed. Implicitly-sanctioned-by: jkh
This commit is contained in:
parent
bfa5948701
commit
7d6abd1af3
@ -39,7 +39,7 @@
|
|||||||
* otherwise) arising in any way out of the use of this software, even if
|
* otherwise) arising in any way out of the use of this software, even if
|
||||||
* advised of the possibility of such damage.
|
* advised of the possibility of such damage.
|
||||||
*
|
*
|
||||||
* $Id: vinuminterrupt.c,v 1.8 1999/12/27 02:20:45 grog Exp grog $
|
* $Id: vinuminterrupt.c,v 1.9 2000/02/16 01:59:02 grog Exp grog $
|
||||||
* $FreeBSD$
|
* $FreeBSD$
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -112,6 +112,8 @@ complete_rqe(struct buf *bp)
|
|||||||
SD[rqe->sdno].bytes_read += bp->b_bcount;
|
SD[rqe->sdno].bytes_read += bp->b_bcount;
|
||||||
PLEX[rqe->rqg->plexno].reads++;
|
PLEX[rqe->rqg->plexno].reads++;
|
||||||
PLEX[rqe->rqg->plexno].bytes_read += bp->b_bcount;
|
PLEX[rqe->rqg->plexno].bytes_read += bp->b_bcount;
|
||||||
|
if (PLEX[rqe->rqg->plexno].volno >= 0)
|
||||||
|
VOL[PLEX[rqe->rqg->plexno].volno].bytes_read += bp->b_bcount;
|
||||||
} else { /* write operation */
|
} else { /* write operation */
|
||||||
DRIVE[rqe->driveno].writes++;
|
DRIVE[rqe->driveno].writes++;
|
||||||
DRIVE[rqe->driveno].bytes_written += bp->b_bcount;
|
DRIVE[rqe->driveno].bytes_written += bp->b_bcount;
|
||||||
@ -119,6 +121,8 @@ complete_rqe(struct buf *bp)
|
|||||||
SD[rqe->sdno].bytes_written += bp->b_bcount;
|
SD[rqe->sdno].bytes_written += bp->b_bcount;
|
||||||
PLEX[rqe->rqg->plexno].writes++;
|
PLEX[rqe->rqg->plexno].writes++;
|
||||||
PLEX[rqe->rqg->plexno].bytes_written += bp->b_bcount;
|
PLEX[rqe->rqg->plexno].bytes_written += bp->b_bcount;
|
||||||
|
if (PLEX[rqe->rqg->plexno].volno >= 0)
|
||||||
|
VOL[PLEX[rqe->rqg->plexno].volno].bytes_written += bp->b_bcount;
|
||||||
}
|
}
|
||||||
rqg->active--; /* one less request active */
|
rqg->active--; /* one less request active */
|
||||||
if (rqg->flags & XFR_RECOVERY_READ) { /* recovery read, */
|
if (rqg->flags & XFR_RECOVERY_READ) { /* recovery read, */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user