]> git.baikalelectronics.ru Git - kernel.git/commit
dm: remove flush_scheduled_work() during local_exit()
authorMike Snitzer <snitzer@kernel.org>
Tue, 14 Feb 2023 18:06:05 +0000 (13:06 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 11 Mar 2023 15:43:47 +0000 (16:43 +0100)
commitda5eb1582e5070d9754b2dad8b3e6a39858c6a14
treeece7f45d4e484e0e6d434ee45fabaf3e13caec7a
parent81b7608d58e0edd2ed1414f225384de93d590e4f
dm: remove flush_scheduled_work() during local_exit()

[ Upstream commit 0b22ff5360f5c4e11050b89206370fdf7dc0a226 ]

Commit a19c6be52b870 ("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 d1c48b6186e ("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: a19c6be52b870 ("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>
drivers/md/dm.c