diff options
-rw-r--r-- | drivers/block/ll_rw_blk.c | 11 | ||||
-rw-r--r-- | fs/partitions/check.c | 2 | ||||
-rw-r--r-- | include/linux/genhd.h | 2 |
3 files changed, 7 insertions, 8 deletions
diff --git a/drivers/block/ll_rw_blk.c b/drivers/block/ll_rw_blk.c index baedac522945..c42071fd2e95 100644 --- a/drivers/block/ll_rw_blk.c +++ b/drivers/block/ll_rw_blk.c | |||
@@ -2433,13 +2433,12 @@ void disk_round_stats(struct gendisk *disk) | |||
2433 | { | 2433 | { |
2434 | unsigned long now = jiffies; | 2434 | unsigned long now = jiffies; |
2435 | 2435 | ||
2436 | __disk_stat_add(disk, time_in_queue, | 2436 | if (disk->in_flight) { |
2437 | disk->in_flight * (now - disk->stamp)); | 2437 | __disk_stat_add(disk, time_in_queue, |
2438 | disk->in_flight * (now - disk->stamp)); | ||
2439 | __disk_stat_add(disk, io_ticks, (now - disk->stamp)); | ||
2440 | } | ||
2438 | disk->stamp = now; | 2441 | disk->stamp = now; |
2439 | |||
2440 | if (disk->in_flight) | ||
2441 | __disk_stat_add(disk, io_ticks, (now - disk->stamp_idle)); | ||
2442 | disk->stamp_idle = now; | ||
2443 | } | 2442 | } |
2444 | 2443 | ||
2445 | /* | 2444 | /* |
diff --git a/fs/partitions/check.c b/fs/partitions/check.c index 77e178f13162..1e848648a322 100644 --- a/fs/partitions/check.c +++ b/fs/partitions/check.c | |||
@@ -430,7 +430,7 @@ void del_gendisk(struct gendisk *disk) | |||
430 | disk->flags &= ~GENHD_FL_UP; | 430 | disk->flags &= ~GENHD_FL_UP; |
431 | unlink_gendisk(disk); | 431 | unlink_gendisk(disk); |
432 | disk_stat_set_all(disk, 0); | 432 | disk_stat_set_all(disk, 0); |
433 | disk->stamp = disk->stamp_idle = 0; | 433 | disk->stamp = 0; |
434 | 434 | ||
435 | devfs_remove_disk(disk); | 435 | devfs_remove_disk(disk); |
436 | 436 | ||
diff --git a/include/linux/genhd.h b/include/linux/genhd.h index 01796c41c951..142e1c1e0689 100644 --- a/include/linux/genhd.h +++ b/include/linux/genhd.h | |||
@@ -119,7 +119,7 @@ struct gendisk { | |||
119 | int policy; | 119 | int policy; |
120 | 120 | ||
121 | atomic_t sync_io; /* RAID */ | 121 | atomic_t sync_io; /* RAID */ |
122 | unsigned long stamp, stamp_idle; | 122 | unsigned long stamp; |
123 | int in_flight; | 123 | int in_flight; |
124 | #ifdef CONFIG_SMP | 124 | #ifdef CONFIG_SMP |
125 | struct disk_stats *dkstats; | 125 | struct disk_stats *dkstats; |