Commit 19a75d83 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

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: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent a9df62c7
...@@ -1306,7 +1306,7 @@ static void as_exit_queue(elevator_t *e) ...@@ -1306,7 +1306,7 @@ static void as_exit_queue(elevator_t *e)
struct as_data *ad = e->elevator_data; struct as_data *ad = e->elevator_data;
del_timer_sync(&ad->antic_timer); del_timer_sync(&ad->antic_timer);
kblockd_flush(); kblockd_flush_work(&ad->antic_work);
BUG_ON(!list_empty(&ad->fifo_list[REQ_SYNC])); BUG_ON(!list_empty(&ad->fifo_list[REQ_SYNC]));
BUG_ON(!list_empty(&ad->fifo_list[REQ_ASYNC])); BUG_ON(!list_empty(&ad->fifo_list[REQ_ASYNC]));
......
...@@ -1712,7 +1712,6 @@ EXPORT_SYMBOL(blk_stop_queue); ...@@ -1712,7 +1712,6 @@ EXPORT_SYMBOL(blk_stop_queue);
void blk_sync_queue(struct request_queue *q) void blk_sync_queue(struct request_queue *q)
{ {
del_timer_sync(&q->unplug_timer); del_timer_sync(&q->unplug_timer);
kblockd_flush();
} }
EXPORT_SYMBOL(blk_sync_queue); EXPORT_SYMBOL(blk_sync_queue);
...@@ -3632,11 +3631,11 @@ int kblockd_schedule_work(struct work_struct *work) ...@@ -3632,11 +3631,11 @@ int kblockd_schedule_work(struct work_struct *work)
EXPORT_SYMBOL(kblockd_schedule_work); EXPORT_SYMBOL(kblockd_schedule_work);
void kblockd_flush(void) void kblockd_flush_work(struct work_struct *work)
{ {
flush_workqueue(kblockd_workqueue); flush_work(kblockd_workqueue, work);
} }
EXPORT_SYMBOL(kblockd_flush); EXPORT_SYMBOL(kblockd_flush_work);
int __init blk_dev_init(void) int __init blk_dev_init(void)
{ {
......
...@@ -854,7 +854,7 @@ static inline void put_dev_sector(Sector p) ...@@ -854,7 +854,7 @@ static inline void put_dev_sector(Sector p)
struct work_struct; struct work_struct;
int kblockd_schedule_work(struct work_struct *work); int kblockd_schedule_work(struct work_struct *work);
void kblockd_flush(void); void kblockd_flush_work(struct work_struct *work);
#define MODULE_ALIAS_BLOCKDEV(major,minor) \ #define MODULE_ALIAS_BLOCKDEV(major,minor) \
MODULE_ALIAS("block-major-" __stringify(major) "-" __stringify(minor)) MODULE_ALIAS("block-major-" __stringify(major) "-" __stringify(minor))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment