From: Tejun Heo 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 Signed-off-by: Mike Snitzer Signed-off-by: Alasdair G Kergon --- 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);