diff options
author | Mike Snitzer <snitzer@kernel.org> | 2023-02-14 13:06:05 -0500 |
---|---|---|
committer | Mike Snitzer <snitzer@kernel.org> | 2023-02-14 14:23:08 -0500 |
commit | 0b22ff5360f5c4e11050b89206370fdf7dc0a226 (patch) | |
tree | 63b6bf8ea6d1e4aad9718703233ac41de7187d25 | |
parent | f0ac1598712ff0f7b985d58546449e232487ee0e (diff) | |
download | linux-stable-0b22ff5360f5c4e11050b89206370fdf7dc0a226.tar.gz linux-stable-0b22ff5360f5c4e11050b89206370fdf7dc0a226.tar.bz2 linux-stable-0b22ff5360f5c4e11050b89206370fdf7dc0a226.zip |
dm: remove flush_scheduled_work() during local_exit()
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>
-rw-r--r-- | drivers/md/dm.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 50dc1f4e4615..90b64bfc63b0 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c @@ -233,7 +233,6 @@ out_uevent_exit: static void local_exit(void) { - flush_scheduled_work(); destroy_workqueue(deferred_remove_workqueue); unregister_blkdev(_major, _name); |