From ef2085870ea448b3c19160d899cf4f948da6a384 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Thu, 2 Apr 2009 19:55:38 +0100 Subject: [PATCH] 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 Signed-off-by: Alasdair G Kergon --- drivers/md/dm.c | 18 +++++++----------- 1 file 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); -- 2.20.1