diff options
Diffstat (limited to 'block/blk-core.c')
-rw-r--r-- | block/blk-core.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index ddaaea4fdffc..81f34311659a 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -70,7 +70,7 @@ static void drive_stat_acct(struct request *rq, int new_io) | |||
70 | part_stat_inc(cpu, part, merges[rw]); | 70 | part_stat_inc(cpu, part, merges[rw]); |
71 | else { | 71 | else { |
72 | part_round_stats(cpu, part); | 72 | part_round_stats(cpu, part); |
73 | part_inc_in_flight(part, rw); | 73 | part_inc_in_flight(part); |
74 | } | 74 | } |
75 | 75 | ||
76 | part_stat_unlock(); | 76 | part_stat_unlock(); |
@@ -1032,7 +1032,7 @@ static void part_round_stats_single(int cpu, struct hd_struct *part, | |||
1032 | 1032 | ||
1033 | if (part->in_flight) { | 1033 | if (part->in_flight) { |
1034 | __part_stat_add(cpu, part, time_in_queue, | 1034 | __part_stat_add(cpu, part, time_in_queue, |
1035 | part_in_flight(part) * (now - part->stamp)); | 1035 | part->in_flight * (now - part->stamp)); |
1036 | __part_stat_add(cpu, part, io_ticks, (now - part->stamp)); | 1036 | __part_stat_add(cpu, part, io_ticks, (now - part->stamp)); |
1037 | } | 1037 | } |
1038 | part->stamp = now; | 1038 | part->stamp = now; |
@@ -1739,7 +1739,7 @@ static void blk_account_io_done(struct request *req) | |||
1739 | part_stat_inc(cpu, part, ios[rw]); | 1739 | part_stat_inc(cpu, part, ios[rw]); |
1740 | part_stat_add(cpu, part, ticks[rw], duration); | 1740 | part_stat_add(cpu, part, ticks[rw], duration); |
1741 | part_round_stats(cpu, part); | 1741 | part_round_stats(cpu, part); |
1742 | part_dec_in_flight(part, rw); | 1742 | part_dec_in_flight(part); |
1743 | 1743 | ||
1744 | part_stat_unlock(); | 1744 | part_stat_unlock(); |
1745 | } | 1745 | } |
@@ -2492,6 +2492,14 @@ int kblockd_schedule_work(struct request_queue *q, struct work_struct *work) | |||
2492 | } | 2492 | } |
2493 | EXPORT_SYMBOL(kblockd_schedule_work); | 2493 | EXPORT_SYMBOL(kblockd_schedule_work); |
2494 | 2494 | ||
2495 | int kblockd_schedule_delayed_work(struct request_queue *q, | ||
2496 | struct delayed_work *work, | ||
2497 | unsigned long delay) | ||
2498 | { | ||
2499 | return queue_delayed_work(kblockd_workqueue, work, delay); | ||
2500 | } | ||
2501 | EXPORT_SYMBOL(kblockd_schedule_delayed_work); | ||
2502 | |||
2495 | int __init blk_dev_init(void) | 2503 | int __init blk_dev_init(void) |
2496 | { | 2504 | { |
2497 | BUILD_BUG_ON(__REQ_NR_BITS > 8 * | 2505 | BUILD_BUG_ON(__REQ_NR_BITS > 8 * |