From 60794e0478b835c275eccb116cd177a789f87f56 Mon Sep 17 00:00:00 2001 From: Poul-Henning Kamp Date: Sat, 8 Mar 2003 08:01:31 +0000 Subject: Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c. As a side effect this makes a lot of #include lines not needed and some biofinish() calls can be reduced to biodone() again. --- sys/dev/ata/ata-all.c | 1 - sys/dev/ata/ata-disk.c | 15 +++------------ sys/dev/ata/ata-disk.h | 1 - sys/dev/ata/ata-raid.c | 1 - sys/dev/ata/atapi-cam.c | 1 - sys/dev/ata/atapi-fd.c | 11 +---------- sys/dev/ata/atapi-fd.h | 1 - 7 files changed, 4 insertions(+), 27 deletions(-) (limited to 'sys/dev/ata') diff --git a/sys/dev/ata/ata-all.c b/sys/dev/ata/ata-all.c index fae76a5ddc74..657a7c7c1589 100644 --- a/sys/dev/ata/ata-all.c +++ b/sys/dev/ata/ata-all.c @@ -39,7 +39,6 @@ #include #include #include -#include #include #include #include diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c index 1428132087a2..9193c6598234 100644 --- a/sys/dev/ata/ata-disk.c +++ b/sys/dev/ata/ata-disk.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include #include @@ -185,11 +184,6 @@ ad_attach(struct ata_device *atadev) #endif ATA_UNLOCK_CH(atadev->channel); - devstat_add_entry(&adp->stats, "ad", adp->lun, DEV_BSIZE, - DEVSTAT_NO_ORDERED_TAGS, - DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_IDE, - DEVSTAT_PRIORITY_DISK); - adp->disk.d_open = adopen; adp->disk.d_close = adclose; adp->disk.d_strategy = adstrategy; @@ -242,7 +236,6 @@ ad_detach(struct ata_device *atadev, int flush) /* get rid of flush XXX SOS */ biofinish(bp, NULL, ENXIO); } disk_destroy(&adp->disk); - devstat_remove_entry(&adp->stats); if (flush) { if (ata_command(atadev, ATA_C_FLUSHCACHE, 0, 0, 0, ATA_WAIT_READY)) ata_prtdev(atadev, "flushing cache on detach failed\n"); @@ -437,8 +430,6 @@ ad_transfer(struct ad_request *request) adp->device->flags |= ATA_D_USE_CHS; } - devstat_start_transaction(&adp->stats); - /* does this drive & transfer work with DMA ? */ request->flags &= ~ADR_F_DMA_USED; if (adp->device->mode >= ATA_DMA && @@ -546,7 +537,7 @@ transfer_failed: request->bp->bio_error = EIO; request->bp->bio_flags |= BIO_ERROR; request->bp->bio_resid = request->bytecount; - biofinish(request->bp, &adp->stats, 0); + biodone(request->bp); ad_free(request); } ata_reinit(adp->device->channel); @@ -660,7 +651,7 @@ ad_interrupt(struct ad_request *request) request->bp->bio_resid = request->bytecount; - biofinish(request->bp, &adp->stats, 0); + biodone(request->bp); ad_free(request); adp->outstanding--; @@ -856,7 +847,7 @@ ad_timeout(struct ad_request *request) /* retries all used up, return error */ request->bp->bio_error = EIO; request->bp->bio_flags |= BIO_ERROR; - biofinish(request->bp, &adp->stats, 0); + biodone(request->bp); ad_free(request); } ata_reinit(adp->device->channel); diff --git a/sys/dev/ata/ata-disk.h b/sys/dev/ata/ata-disk.h index 505690e106fe..f6809275b568 100644 --- a/sys/dev/ata/ata-disk.h +++ b/sys/dev/ata/ata-disk.h @@ -71,7 +71,6 @@ struct ad_softc { struct ad_request *tags[32]; /* tag array of requests */ int outstanding; /* tags not serviced yet */ struct bio_queue_head queue; /* head of request queue */ - struct devstat stats; /* devstat entry */ struct disk disk; /* disklabel/slice stuff */ }; diff --git a/sys/dev/ata/ata-raid.c b/sys/dev/ata/ata-raid.c index e5f5b6a1c55c..4f6f0e78d474 100644 --- a/sys/dev/ata/ata-raid.c +++ b/sys/dev/ata/ata-raid.c @@ -39,7 +39,6 @@ #include #include #include -#include #include #include #include diff --git a/sys/dev/ata/atapi-cam.c b/sys/dev/ata/atapi-cam.c index 0d703c2ea95e..81c10fc94a93 100644 --- a/sys/dev/ata/atapi-cam.c +++ b/sys/dev/ata/atapi-cam.c @@ -31,7 +31,6 @@ #include #include #include -#include #include #include #include diff --git a/sys/dev/ata/atapi-fd.c b/sys/dev/ata/atapi-fd.c index e4f6cb82b674..0da55dda4ac6 100644 --- a/sys/dev/ata/atapi-fd.c +++ b/sys/dev/ata/atapi-fd.c @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include @@ -83,10 +82,6 @@ afdattach(struct ata_device *atadev) return 0; } - devstat_add_entry(&fdp->stats, "afd", fdp->lun, DEV_BSIZE, - DEVSTAT_NO_ORDERED_TAGS, - DEVSTAT_TYPE_DIRECT | DEVSTAT_TYPE_IF_IDE, - DEVSTAT_PRIORITY_WFD); fdp->disk.d_open = afdopen; fdp->disk.d_close = afdclose; #ifdef notyet @@ -115,7 +110,6 @@ afddetach(struct ata_device *atadev) biofinish(bp, NULL, ENXIO); } disk_destroy(&fdp->disk); - devstat_remove_entry(&fdp->stats); ata_free_name(atadev); ata_free_lun(&afd_lun_map, fdp->lun); free(fdp, M_AFD); @@ -334,8 +328,6 @@ afd_start(struct ata_device *atadev) ccb[7] = count>>8; ccb[8] = count; - devstat_start_transaction(&fdp->stats); - atapi_queue_cmd(fdp->device, ccb, data_ptr, count * fdp->cap.sector_size, (bp->bio_cmd == BIO_READ) ? ATPR_F_READ : 0, 30, afd_done, bp); @@ -345,7 +337,6 @@ static int afd_done(struct atapi_request *request) { struct bio *bp = request->driver; - struct afd_softc *fdp = request->device->driver; if (request->error || (bp->bio_flags & BIO_ERROR)) { bp->bio_error = request->error; @@ -353,7 +344,7 @@ afd_done(struct atapi_request *request) } else bp->bio_resid = bp->bio_bcount - request->donecount; - biofinish(bp, &fdp->stats, 0); + biodone(bp); return 0; } diff --git a/sys/dev/ata/atapi-fd.h b/sys/dev/ata/atapi-fd.h index dc38fe37aac2..89794093d549 100644 --- a/sys/dev/ata/atapi-fd.h +++ b/sys/dev/ata/atapi-fd.h @@ -74,6 +74,5 @@ struct afd_softc { struct bio_queue_head queue; /* queue of i/o requests */ struct afd_cappage cap; /* capabilities page info */ struct disk disk; /* virtual drives */ - struct devstat stats; }; -- cgit v1.3