diff options
Diffstat (limited to 'block')
-rw-r--r-- | block/as-iosched.c | 7 | ||||
-rw-r--r-- | block/cfq-iosched.c | 8 | ||||
-rw-r--r-- | block/ll_rw_blk.c | 8 |
3 files changed, 13 insertions, 10 deletions
diff --git a/block/as-iosched.c b/block/as-iosched.c index 50b95e4c1425..f371c9359999 100644 --- a/block/as-iosched.c +++ b/block/as-iosched.c | |||
@@ -1274,9 +1274,10 @@ static void as_merged_requests(request_queue_t *q, struct request *req, | |||
1274 | * | 1274 | * |
1275 | * FIXME! dispatch queue is not a queue at all! | 1275 | * FIXME! dispatch queue is not a queue at all! |
1276 | */ | 1276 | */ |
1277 | static void as_work_handler(void *data) | 1277 | static void as_work_handler(struct work_struct *work) |
1278 | { | 1278 | { |
1279 | struct request_queue *q = data; | 1279 | struct as_data *ad = container_of(work, struct as_data, antic_work); |
1280 | struct request_queue *q = ad->q; | ||
1280 | unsigned long flags; | 1281 | unsigned long flags; |
1281 | 1282 | ||
1282 | spin_lock_irqsave(q->queue_lock, flags); | 1283 | spin_lock_irqsave(q->queue_lock, flags); |
@@ -1332,7 +1333,7 @@ static void *as_init_queue(request_queue_t *q, elevator_t *e) | |||
1332 | ad->antic_timer.function = as_antic_timeout; | 1333 | ad->antic_timer.function = as_antic_timeout; |
1333 | ad->antic_timer.data = (unsigned long)q; | 1334 | ad->antic_timer.data = (unsigned long)q; |
1334 | init_timer(&ad->antic_timer); | 1335 | init_timer(&ad->antic_timer); |
1335 | INIT_WORK(&ad->antic_work, as_work_handler, q); | 1336 | INIT_WORK(&ad->antic_work, as_work_handler); |
1336 | 1337 | ||
1337 | INIT_LIST_HEAD(&ad->fifo_list[REQ_SYNC]); | 1338 | INIT_LIST_HEAD(&ad->fifo_list[REQ_SYNC]); |
1338 | INIT_LIST_HEAD(&ad->fifo_list[REQ_ASYNC]); | 1339 | INIT_LIST_HEAD(&ad->fifo_list[REQ_ASYNC]); |
diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c index 1d9c3c70a9a0..6cec3a1dccb8 100644 --- a/block/cfq-iosched.c +++ b/block/cfq-iosched.c | |||
@@ -1841,9 +1841,11 @@ queue_fail: | |||
1841 | return 1; | 1841 | return 1; |
1842 | } | 1842 | } |
1843 | 1843 | ||
1844 | static void cfq_kick_queue(void *data) | 1844 | static void cfq_kick_queue(struct work_struct *work) |
1845 | { | 1845 | { |
1846 | request_queue_t *q = data; | 1846 | struct cfq_data *cfqd = |
1847 | container_of(work, struct cfq_data, unplug_work); | ||
1848 | request_queue_t *q = cfqd->queue; | ||
1847 | unsigned long flags; | 1849 | unsigned long flags; |
1848 | 1850 | ||
1849 | spin_lock_irqsave(q->queue_lock, flags); | 1851 | spin_lock_irqsave(q->queue_lock, flags); |
@@ -1987,7 +1989,7 @@ static void *cfq_init_queue(request_queue_t *q, elevator_t *e) | |||
1987 | cfqd->idle_class_timer.function = cfq_idle_class_timer; | 1989 | cfqd->idle_class_timer.function = cfq_idle_class_timer; |
1988 | cfqd->idle_class_timer.data = (unsigned long) cfqd; | 1990 | cfqd->idle_class_timer.data = (unsigned long) cfqd; |
1989 | 1991 | ||
1990 | INIT_WORK(&cfqd->unplug_work, cfq_kick_queue, q); | 1992 | INIT_WORK(&cfqd->unplug_work, cfq_kick_queue); |
1991 | 1993 | ||
1992 | cfqd->cfq_quantum = cfq_quantum; | 1994 | cfqd->cfq_quantum = cfq_quantum; |
1993 | cfqd->cfq_fifo_expire[0] = cfq_fifo_expire[0]; | 1995 | cfqd->cfq_fifo_expire[0] = cfq_fifo_expire[0]; |
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index 9eaee6640535..eb4cf6df7374 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -34,7 +34,7 @@ | |||
34 | */ | 34 | */ |
35 | #include <scsi/scsi_cmnd.h> | 35 | #include <scsi/scsi_cmnd.h> |
36 | 36 | ||
37 | static void blk_unplug_work(void *data); | 37 | static void blk_unplug_work(struct work_struct *work); |
38 | static void blk_unplug_timeout(unsigned long data); | 38 | static void blk_unplug_timeout(unsigned long data); |
39 | static void drive_stat_acct(struct request *rq, int nr_sectors, int new_io); | 39 | static void drive_stat_acct(struct request *rq, int nr_sectors, int new_io); |
40 | static void init_request_from_bio(struct request *req, struct bio *bio); | 40 | static void init_request_from_bio(struct request *req, struct bio *bio); |
@@ -227,7 +227,7 @@ void blk_queue_make_request(request_queue_t * q, make_request_fn * mfn) | |||
227 | if (q->unplug_delay == 0) | 227 | if (q->unplug_delay == 0) |
228 | q->unplug_delay = 1; | 228 | q->unplug_delay = 1; |
229 | 229 | ||
230 | INIT_WORK(&q->unplug_work, blk_unplug_work, q); | 230 | INIT_WORK(&q->unplug_work, blk_unplug_work); |
231 | 231 | ||
232 | q->unplug_timer.function = blk_unplug_timeout; | 232 | q->unplug_timer.function = blk_unplug_timeout; |
233 | q->unplug_timer.data = (unsigned long)q; | 233 | q->unplug_timer.data = (unsigned long)q; |
@@ -1631,9 +1631,9 @@ static void blk_backing_dev_unplug(struct backing_dev_info *bdi, | |||
1631 | } | 1631 | } |
1632 | } | 1632 | } |
1633 | 1633 | ||
1634 | static void blk_unplug_work(void *data) | 1634 | static void blk_unplug_work(struct work_struct *work) |
1635 | { | 1635 | { |
1636 | request_queue_t *q = data; | 1636 | request_queue_t *q = container_of(work, request_queue_t, unplug_work); |
1637 | 1637 | ||
1638 | blk_add_trace_pdu_int(q, BLK_TA_UNPLUG_IO, NULL, | 1638 | blk_add_trace_pdu_int(q, BLK_TA_UNPLUG_IO, NULL, |
1639 | q->rq.count[READ] + q->rq.count[WRITE]); | 1639 | q->rq.count[READ] + q->rq.count[WRITE]); |