Patch from Rick Lindsley Fixes a couple of odd cases in which disk requests were not being accounted for. block/ll_rw_blk.c | 1 + block/scsi_ioctl.c | 1 + 2 files changed, 2 insertions(+) diff -puN drivers/block/ll_rw_blk.c~disk-accounting-fix drivers/block/ll_rw_blk.c --- 25/drivers/block/ll_rw_blk.c~disk-accounting-fix 2003-02-20 03:18:13.000000000 -0800 +++ 25-akpm/drivers/block/ll_rw_blk.c 2003-02-20 03:18:13.000000000 -0800 @@ -1423,6 +1423,7 @@ void blk_insert_request(request_queue_t if (blk_rq_tagged(rq)) blk_queue_end_tag(q, rq); + drive_stat_acct(rq, rq->nr_sectors, 1); __elv_add_request(q, rq, !at_head, 0); q->request_fn(q); spin_unlock_irqrestore(q->queue_lock, flags); diff -puN drivers/block/scsi_ioctl.c~disk-accounting-fix drivers/block/scsi_ioctl.c --- 25/drivers/block/scsi_ioctl.c~disk-accounting-fix 2003-02-20 03:18:13.000000000 -0800 +++ 25-akpm/drivers/block/scsi_ioctl.c 2003-02-20 03:18:13.000000000 -0800 @@ -60,6 +60,7 @@ int blk_do_rq(request_queue_t *q, struct rq->flags |= REQ_NOMERGE; rq->waiting = &wait; + drive_stat_acct(rq, rq->nr_sectors, 1); elv_add_request(q, rq, 1, 1); generic_unplug_device(q); wait_for_completion(&wait); _