From a439d3fe3ec2bfe0b4ccb77973ae97949bcf46ec Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Wed, 28 Oct 2026 10:41:15 -0600 Subject: [PATCH] drbd: stop the start_resync timer of a dying device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Cc: Lars Ellenberg Cc: "Christoph Böhmwalder" Signed-off-by: Josef Bacik Link: https://patch.msgid.link/20261028164415.1262013-13-axboe@kernel.dk Signed-off-by: Jens Axboe --- drivers/block/drbd/drbd_main.c | 1 + 1 file changed, 1 insertion(+) 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);