From: Alasdair G Kergon <agk@redhat.com> The multipath destructor must flush its workqueue. Otherwise items that reference the destroyed object could remain. From: "goggin, edward" <egoggin@emc.com> Signed-off-by: Lars Marowsky-Bree <lmb@suse.de> Signed-off-by: Alasdair G Kergon <agk@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> --- drivers/md/dm-mpath.c | 2 ++ 1 files changed, 2 insertions(+) diff -puN drivers/md/dm-mpath.c~device-mapper-multipath-flush-workqueue-when-destroying drivers/md/dm-mpath.c --- 25/drivers/md/dm-mpath.c~device-mapper-multipath-flush-workqueue-when-destroying Fri Jul 8 16:45:28 2005 +++ 25-akpm/drivers/md/dm-mpath.c Fri Jul 8 16:45:28 2005 @@ -752,6 +752,8 @@ static int multipath_ctr(struct dm_targe static void multipath_dtr(struct dm_target *ti) { struct multipath *m = (struct multipath *) ti->private; + + flush_workqueue(kmultipathd); free_multipath(m); } _