summaryrefslogtreecommitdiffstats
path: root/drivers/md/dm.c
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@kernel.org>2023-02-14 13:06:05 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-03-10 09:33:22 +0100
commit5b8cd07aba15973a3a7b9848b4fad417a739e2ac (patch)
treeda5056d86d87ec87c5a5c9678bd64145194aabc9 /drivers/md/dm.c
parent0924b13f218ed89093e3f86defbea8d150bc14e4 (diff)
downloadlinux-stable-5b8cd07aba15973a3a7b9848b4fad417a739e2ac.tar.gz
linux-stable-5b8cd07aba15973a3a7b9848b4fad417a739e2ac.tar.bz2
linux-stable-5b8cd07aba15973a3a7b9848b4fad417a739e2ac.zip
dm: remove flush_scheduled_work() during local_exit()
[ Upstream commit 0b22ff5360f5c4e11050b89206370fdf7dc0a226 ] Commit acfe0ad74d2e1 ("dm: allocate a special workqueue for deferred device removal") switched from using system workqueue to a single workqueue local to DM. But it didn't eliminate the call to flush_scheduled_work() that was introduced purely for the benefit of deferred device removal with commit 2c140a246dc ("dm: allow remove to be deferred"). Since DM core uses its own workqueue (and queue_work) there is no need to call flush_scheduled_work() from local_exit(). local_exit()'s destroy_workqueue(deferred_remove_workqueue) handles flushing work started with queue_work(). Fixes: acfe0ad74d2e1 ("dm: allocate a special workqueue for deferred device removal") Signed-off-by: Mike Snitzer <snitzer@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r--drivers/md/dm.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c
index d49809e9db96..2ce16e6c1e35 100644
--- a/drivers/md/dm.c
+++ b/drivers/md/dm.c
@@ -231,7 +231,6 @@ out_uevent_exit:
static void local_exit(void)
{
- flush_scheduled_work();
destroy_workqueue(deferred_remove_workqueue);
unregister_blkdev(_major, _name);