diff options
author | Alasdair G Kergon <agk@redhat.com> | 2005-07-12 15:53:02 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-12 16:19:10 -0700 |
commit | a044d016896d2717694003f00d31a98194077511 (patch) | |
tree | 5c6e7b60319f345c270d6f86745f47bf0b3ffdad | |
parent | f6a80ea8ed44de0b19c42d41928be37a186a3f41 (diff) | |
download | linux-a044d016896d2717694003f00d31a98194077511.tar.bz2 |
[PATCH] device-mapper multipath: Flush workqueue when destroying
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>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r-- | drivers/md/dm-mpath.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/md/dm-mpath.c b/drivers/md/dm-mpath.c index 84cdb700a247..fa72f0153206 100644 --- a/drivers/md/dm-mpath.c +++ b/drivers/md/dm-mpath.c @@ -752,6 +752,8 @@ static int multipath_ctr(struct dm_target *ti, unsigned int argc, static void multipath_dtr(struct dm_target *ti) { struct multipath *m = (struct multipath *) ti->private; + + flush_workqueue(kmultipathd); free_multipath(m); } |