diff options
author | Tejun Heo <tj@kernel.org> | 2008-08-25 06:47:17 -0400 |
---|---|---|
committer | Jens Axboe <jens.axboe@oracle.com> | 2008-10-09 02:56:04 -0400 |
commit | 310a2c1012934f590192377f65940cad4aa72b15 (patch) | |
tree | ed30346abf07c5a7e94719f567368d5642af1f95 /block | |
parent | 88e341261ca4d39eec21b212961c77eff51105f7 (diff) |
block: misc updates
This patch makes the following misc updates in preparation for
disk->part dereference fix and extended block devt support.
* implment part_to_disk()
* fix comment about gendisk->part indexing
* rename get_part() to disk_map_sector()
* don't use n which is always zero while printing disk information in
diskstats_show()
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-core.c | 7 | ||||
-rw-r--r-- | block/blk-merge.c | 4 | ||||
-rw-r--r-- | block/genhd.c | 4 |
3 files changed, 8 insertions, 7 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 86d22e7d65c5..a0dc2e72fcbb 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -60,7 +60,7 @@ static void drive_stat_acct(struct request *rq, int new_io) | |||
60 | if (!blk_fs_request(rq) || !rq->rq_disk) | 60 | if (!blk_fs_request(rq) || !rq->rq_disk) |
61 | return; | 61 | return; |
62 | 62 | ||
63 | part = get_part(rq->rq_disk, rq->sector); | 63 | part = disk_map_sector(rq->rq_disk, rq->sector); |
64 | if (!new_io) | 64 | if (!new_io) |
65 | __all_stat_inc(rq->rq_disk, part, merges[rw], rq->sector); | 65 | __all_stat_inc(rq->rq_disk, part, merges[rw], rq->sector); |
66 | else { | 66 | else { |
@@ -1557,7 +1557,8 @@ static int __end_that_request_first(struct request *req, int error, | |||
1557 | } | 1557 | } |
1558 | 1558 | ||
1559 | if (blk_fs_request(req) && req->rq_disk) { | 1559 | if (blk_fs_request(req) && req->rq_disk) { |
1560 | struct hd_struct *part = get_part(req->rq_disk, req->sector); | 1560 | struct hd_struct *part = |
1561 | disk_map_sector(req->rq_disk, req->sector); | ||
1561 | const int rw = rq_data_dir(req); | 1562 | const int rw = rq_data_dir(req); |
1562 | 1563 | ||
1563 | all_stat_add(req->rq_disk, part, sectors[rw], | 1564 | all_stat_add(req->rq_disk, part, sectors[rw], |
@@ -1745,7 +1746,7 @@ static void end_that_request_last(struct request *req, int error) | |||
1745 | if (disk && blk_fs_request(req) && req != &req->q->bar_rq) { | 1746 | if (disk && blk_fs_request(req) && req != &req->q->bar_rq) { |
1746 | unsigned long duration = jiffies - req->start_time; | 1747 | unsigned long duration = jiffies - req->start_time; |
1747 | const int rw = rq_data_dir(req); | 1748 | const int rw = rq_data_dir(req); |
1748 | struct hd_struct *part = get_part(disk, req->sector); | 1749 | struct hd_struct *part = disk_map_sector(disk, req->sector); |
1749 | 1750 | ||
1750 | __all_stat_inc(disk, part, ios[rw], req->sector); | 1751 | __all_stat_inc(disk, part, ios[rw], req->sector); |
1751 | __all_stat_add(disk, part, ticks[rw], duration, req->sector); | 1752 | __all_stat_add(disk, part, ticks[rw], duration, req->sector); |
diff --git a/block/blk-merge.c b/block/blk-merge.c index d81d91419ff5..9b17da698d7c 100644 --- a/block/blk-merge.c +++ b/block/blk-merge.c | |||
@@ -387,8 +387,8 @@ static int attempt_merge(struct request_queue *q, struct request *req, | |||
387 | elv_merge_requests(q, req, next); | 387 | elv_merge_requests(q, req, next); |
388 | 388 | ||
389 | if (req->rq_disk) { | 389 | if (req->rq_disk) { |
390 | struct hd_struct *part | 390 | struct hd_struct *part = |
391 | = get_part(req->rq_disk, req->sector); | 391 | disk_map_sector(req->rq_disk, req->sector); |
392 | disk_round_stats(req->rq_disk); | 392 | disk_round_stats(req->rq_disk); |
393 | req->rq_disk->in_flight--; | 393 | req->rq_disk->in_flight--; |
394 | if (part) { | 394 | if (part) { |
diff --git a/block/genhd.c b/block/genhd.c index 8b9a9ff1a842..11038fbc75ed 100644 --- a/block/genhd.c +++ b/block/genhd.c | |||
@@ -568,7 +568,7 @@ static int diskstats_show(struct seq_file *s, void *v) | |||
568 | { | 568 | { |
569 | struct gendisk *gp = v; | 569 | struct gendisk *gp = v; |
570 | char buf[BDEVNAME_SIZE]; | 570 | char buf[BDEVNAME_SIZE]; |
571 | int n = 0; | 571 | int n; |
572 | 572 | ||
573 | /* | 573 | /* |
574 | if (&gp->dev.kobj.entry == block_class.devices.next) | 574 | if (&gp->dev.kobj.entry == block_class.devices.next) |
@@ -582,7 +582,7 @@ static int diskstats_show(struct seq_file *s, void *v) | |||
582 | disk_round_stats(gp); | 582 | disk_round_stats(gp); |
583 | preempt_enable(); | 583 | preempt_enable(); |
584 | seq_printf(s, "%4d %4d %s %lu %lu %llu %u %lu %lu %llu %u %u %u %u\n", | 584 | seq_printf(s, "%4d %4d %s %lu %lu %llu %u %lu %lu %llu %u %u %u %u\n", |
585 | gp->major, n + gp->first_minor, disk_name(gp, n, buf), | 585 | gp->major, gp->first_minor, disk_name(gp, 0, buf), |
586 | disk_stat_read(gp, ios[0]), disk_stat_read(gp, merges[0]), | 586 | disk_stat_read(gp, ios[0]), disk_stat_read(gp, merges[0]), |
587 | (unsigned long long)disk_stat_read(gp, sectors[0]), | 587 | (unsigned long long)disk_stat_read(gp, sectors[0]), |
588 | jiffies_to_msecs(disk_stat_read(gp, ticks[0])), | 588 | jiffies_to_msecs(disk_stat_read(gp, ticks[0])), |