From: Tejun Heo <tj@kernel.org>

flush_scheduled_work() is being deprecated.  Flush the used work
directly instead.  In all dm targets, the only work which uses
system_wq is ->trigger_event.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
---
 drivers/md/dm-mpath.c |    2 +-
 drivers/md/dm-raid1.c |    2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6.37/drivers/md/dm-mpath.c
===================================================================
--- linux-2.6.37.orig/drivers/md/dm-mpath.c
+++ linux-2.6.37/drivers/md/dm-mpath.c
@@ -920,7 +920,7 @@ static void flush_multipath_work(struct 
 	flush_workqueue(kmpath_handlerd);
 	multipath_wait_for_pg_init_completion(m);
 	flush_workqueue(kmultipathd);
-	flush_scheduled_work();
+	flush_work_sync(&m->trigger_event);
 }
 
 static void multipath_dtr(struct dm_target *ti)
Index: linux-2.6.37/drivers/md/dm-raid1.c
===================================================================
--- linux-2.6.37.orig/drivers/md/dm-raid1.c
+++ linux-2.6.37/drivers/md/dm-raid1.c
@@ -1138,7 +1138,7 @@ static void mirror_dtr(struct dm_target 
 
 	del_timer_sync(&ms->timer);
 	flush_workqueue(ms->kmirrord_wq);
-	flush_scheduled_work();
+	flush_work_sync(&ms->trigger_event);
 	dm_kcopyd_client_destroy(ms->kcopyd_client);
 	destroy_workqueue(ms->kmirrord_wq);
 	free_context(ms, ti, ms->nr_mirrors);
