diff options
author | Alasdair G Kergon <agk@redhat.com> | 2005-07-12 18:53:02 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-07-12 19:19:10 -0400 |
commit | a044d016896d2717694003f00d31a98194077511 (patch) | |
tree | 5c6e7b60319f345c270d6f86745f47bf0b3ffdad /drivers/md/dm-mpath.c | |
parent | f6a80ea8ed44de0b19c42d41928be37a186a3f41 (diff) |
[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>
Diffstat (limited to 'drivers/md/dm-mpath.c')
-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, | |||
752 | static void multipath_dtr(struct dm_target *ti) | 752 | static void multipath_dtr(struct dm_target *ti) |
753 | { | 753 | { |
754 | struct multipath *m = (struct multipath *) ti->private; | 754 | struct multipath *m = (struct multipath *) ti->private; |
755 | |||
756 | flush_workqueue(kmultipathd); | ||
755 | free_multipath(m); | 757 | free_multipath(m); |
756 | } | 758 | } |
757 | 759 | ||