diff options
author | Mikulas Patocka <mpatocka@redhat.com> | 2009-04-02 20:55:38 +0200 |
---|---|---|
committer | Alasdair G Kergon <agk@redhat.com> | 2009-04-02 20:55:38 +0200 |
commit | ef2085870ea448b3c19160d899cf4f948da6a384 (patch) | |
tree | f8e6e4bdeecc41d1b0cd8608a7460b0d130f43a8 | |
parent | dm: move bio_io_error into __split_and_process_bio (diff) | |
download | linux-ef2085870ea448b3c19160d899cf4f948da6a384.tar.xz linux-ef2085870ea448b3c19160d899cf4f948da6a384.zip |
dm: merge __flush_deferred_io into caller
Merge __flush_deferred_io() into the only caller, dm_wq_work().
There's no need to have a function that has only one caller.
Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
-rw-r--r-- | drivers/md/dm.c | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 385c2e8f90c8..4ba0811f28c5 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -1401,14 +1401,20 @@ static int dm_wait_for_completion(struct mapped_device *md) /* * Process the deferred bios */ -static void __flush_deferred_io(struct mapped_device *md) +static void dm_wq_work(struct work_struct *work) { + struct mapped_device *md = container_of(work, struct mapped_device, + work); struct bio *c; + down_write(&md->io_lock); + while ((c = bio_list_pop(&md->deferred))) __split_and_process_bio(md, c); clear_bit(DMF_BLOCK_IO, &md->flags); + + up_write(&md->io_lock); } static void __merge_pushback_list(struct mapped_device *md) @@ -1422,16 +1428,6 @@ static void __merge_pushback_list(struct mapped_device *md) spin_unlock_irqrestore(&md->pushback_lock, flags); } -static void dm_wq_work(struct work_struct *work) -{ - struct mapped_device *md = container_of(work, struct mapped_device, - work); - - down_write(&md->io_lock); - __flush_deferred_io(md); - up_write(&md->io_lock); -} - static void dm_queue_flush(struct mapped_device *md) { queue_work(md->wq, &md->work); |