diff options
| author | Josef Bacik <josef@toxicpanda.com> | 2026-10-28 10:41:15 -0600 |
|---|---|---|
| committer | Jens Axboe <axboe@kernel.dk> | 2026-10-29 07:23:19 -0600 |
| commit | a439d3fe3ec2bfe0b4ccb77973ae97949bcf46ec (patch) | |
| tree | 583b3c5383a84c7484c8d0d35240c869a439d860 | |
| parent | 26edfdee11eb2afe08fb5f874edcdf0786d6b66c (diff) | |
| download | linux-a439d3fe3ec2bfe0b4ccb77973ae97949bcf46ec.tar.gz linux-a439d3fe3ec2bfe0b4ccb77973ae97949bcf46ec.zip | |
drbd: stop the start_resync timer of a dying device
start_resync_timer gets armed for up to a second and nothing ever
deletes it, so drbd_destroy_device() can free the device with the timer
pending. Shut it down where request_timer is shut down.
Fixes: 370a43e7982d ("drbd: Work on the Ahead -> SyncSource transition")
Cc: Philipp Reisner <philipp.reisner@linbit.com>
Cc: Lars Ellenberg <lars.ellenberg@linbit.com>
Cc: "Christoph Böhmwalder" <christoph.boehmwalder@linbit.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Link: https://patch.msgid.link/20261028164415.1262013-13-axboe@kernel.dk
Signed-off-by: Jens Axboe <axboe@kernel.dk>
| -rw-r--r-- | drivers/block/drbd/drbd_main.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_main.c b/drivers/block/drbd/drbd_main.c index a2a841c89201..099dff1ea256 100644 --- a/drivers/block/drbd/drbd_main.c +++ b/drivers/block/drbd/drbd_main.c @@ -2163,6 +2163,7 @@ void drbd_destroy_device(struct kref *kref) struct drbd_peer_device *peer_device, *tmp_peer_device; timer_shutdown_sync(&device->request_timer); + timer_shutdown_sync(&device->start_resync_timer); /* paranoia asserts */ D_ASSERT(device, device->open_cnt == 0); |
