diff options
author | Andrew Morton <akpm@osdl.org> | 2007-05-09 05:33:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-09 15:30:51 -0400 |
commit | 19a75d83ffeab004cfcfac64024ad3997bac7220 (patch) | |
tree | 1a4c3d299527989cde6d87e18dd189cfb35749a8 | |
parent | a9df62c7585e6caa1e7d2425b2b14460ec3afc20 (diff) |
kblockd: use flush_work
Switch the kblockd flushing from a global flush to a more specific
flush_work().
(akpm: bypassed maintainers, sorry. There are other patches which depend on
this)
Cc: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: David Howells <dhowells@redhat.com>
Cc: Jens Axboe <axboe@suse.de>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Oleg Nesterov <oleg@tv-sign.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | block/as-iosched.c | 2 | ||||
-rw-r--r-- | block/ll_rw_blk.c | 7 | ||||
-rw-r--r-- | include/linux/blkdev.h | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/block/as-iosched.c b/block/as-iosched.c index 640aa839d63f..109e91b91ffa 100644 --- a/block/as-iosched.c +++ b/block/as-iosched.c | |||
@@ -1306,7 +1306,7 @@ static void as_exit_queue(elevator_t *e) | |||
1306 | struct as_data *ad = e->elevator_data; | 1306 | struct as_data *ad = e->elevator_data; |
1307 | 1307 | ||
1308 | del_timer_sync(&ad->antic_timer); | 1308 | del_timer_sync(&ad->antic_timer); |
1309 | kblockd_flush(); | 1309 | kblockd_flush_work(&ad->antic_work); |
1310 | 1310 | ||
1311 | BUG_ON(!list_empty(&ad->fifo_list[REQ_SYNC])); | 1311 | BUG_ON(!list_empty(&ad->fifo_list[REQ_SYNC])); |
1312 | BUG_ON(!list_empty(&ad->fifo_list[REQ_ASYNC])); | 1312 | BUG_ON(!list_empty(&ad->fifo_list[REQ_ASYNC])); |
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c index d99d402953a3..c059767c552c 100644 --- a/block/ll_rw_blk.c +++ b/block/ll_rw_blk.c | |||
@@ -1712,7 +1712,6 @@ EXPORT_SYMBOL(blk_stop_queue); | |||
1712 | void blk_sync_queue(struct request_queue *q) | 1712 | void blk_sync_queue(struct request_queue *q) |
1713 | { | 1713 | { |
1714 | del_timer_sync(&q->unplug_timer); | 1714 | del_timer_sync(&q->unplug_timer); |
1715 | kblockd_flush(); | ||
1716 | } | 1715 | } |
1717 | EXPORT_SYMBOL(blk_sync_queue); | 1716 | EXPORT_SYMBOL(blk_sync_queue); |
1718 | 1717 | ||
@@ -3632,11 +3631,11 @@ int kblockd_schedule_work(struct work_struct *work) | |||
3632 | 3631 | ||
3633 | EXPORT_SYMBOL(kblockd_schedule_work); | 3632 | EXPORT_SYMBOL(kblockd_schedule_work); |
3634 | 3633 | ||
3635 | void kblockd_flush(void) | 3634 | void kblockd_flush_work(struct work_struct *work) |
3636 | { | 3635 | { |
3637 | flush_workqueue(kblockd_workqueue); | 3636 | flush_work(kblockd_workqueue, work); |
3638 | } | 3637 | } |
3639 | EXPORT_SYMBOL(kblockd_flush); | 3638 | EXPORT_SYMBOL(kblockd_flush_work); |
3640 | 3639 | ||
3641 | int __init blk_dev_init(void) | 3640 | int __init blk_dev_init(void) |
3642 | { | 3641 | { |
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h index a686eabe22d6..db5b00a792f5 100644 --- a/include/linux/blkdev.h +++ b/include/linux/blkdev.h | |||
@@ -854,7 +854,7 @@ static inline void put_dev_sector(Sector p) | |||
854 | 854 | ||
855 | struct work_struct; | 855 | struct work_struct; |
856 | int kblockd_schedule_work(struct work_struct *work); | 856 | int kblockd_schedule_work(struct work_struct *work); |
857 | void kblockd_flush(void); | 857 | void kblockd_flush_work(struct work_struct *work); |
858 | 858 | ||
859 | #define MODULE_ALIAS_BLOCKDEV(major,minor) \ | 859 | #define MODULE_ALIAS_BLOCKDEV(major,minor) \ |
860 | MODULE_ALIAS("block-major-" __stringify(major) "-" __stringify(minor)) | 860 | MODULE_ALIAS("block-major-" __stringify(major) "-" __stringify(minor)) |