Benjamin Marzinski 8d24790ed0 dm-delay: fix workqueue delay_timer race
delay_timer could be pending when delay_dtr() is called. It needs to be
shut down before kdelayd_wq is destroyed, so it won't try queueing more
work to kdelayd_wq while that's getting destroyed.

Also the del_timer_sync() call in delay_presuspend() doesn't protect
against the timer getting immediately rearmed by the queued call to
flush_delayed_bios(), but there's no real harm if that does happen.
timer_delete() is less work, and is basically just as likely to stop a
pointless call to flush_delayed_bios().

Fixes: 26b9f228703f ("dm: delay target")
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
2024-05-09 09:10:58 -04:00
..
2023-02-14 14:23:07 -05:00
2023-02-14 14:23:07 -05:00
2024-02-20 14:22:51 -05:00
2024-02-20 14:22:51 -05:00
2024-02-20 14:22:51 -05:00
2023-02-14 14:23:07 -05:00
2024-04-23 11:20:16 -04:00
2023-02-14 14:23:06 -05:00
2024-03-21 14:41:00 -07:00
2024-03-11 11:43:44 -07:00
2024-03-11 11:43:44 -07:00
2024-03-06 08:59:53 -08:00
2024-03-06 08:59:53 -08:00
2024-03-06 08:59:53 -08:00
2024-03-11 11:43:44 -07:00
2024-03-11 11:43:44 -07:00