diff options
author | Benjamin Marzinski <bmarzins@redhat.com> | 2024-05-07 17:16:23 -0400 |
---|---|---|
committer | Mike Snitzer <snitzer@kernel.org> | 2024-05-09 09:10:58 -0400 |
commit | 8d24790ed08ab4e619ce58ed4a1b353ab77ffdc5 (patch) | |
tree | 1db63ee52f9b4e0b1397c134ee87b7e6a771e8d7 /fs/btrfs/tree-mod-log.c | |
parent | 83637d9017b22a5e11ada9f44ba776beb807222b (diff) |
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>
Diffstat (limited to 'fs/btrfs/tree-mod-log.c')
0 files changed, 0 insertions, 0 deletions