]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
aoe: defer rexmit timer downdev work to workqueue
authorJustin Sanders <jsanders.devel@gmail.com>
Tue, 10 Jun 2025 17:06:00 +0000 (17:06 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 14:03:16 +0000 (16:03 +0200)
commit270d637100f9ffbaea29b343333e7cb8416a2fed
tree0f132194796ed6d5990e560a0f3b0e85be810749
parent55dfffc5e94730370b08de02c0cf3b7c951bbe9e
aoe: defer rexmit timer downdev work to workqueue

[ Upstream commit cffc873d68ab09a0432b8212008c5613f8a70a2c ]

When aoe's rexmit_timer() notices that an aoe target fails to respond to
commands for more than aoe_deadsecs, it calls aoedev_downdev() which
cleans the outstanding aoe and block queues. This can involve sleeping,
such as in blk_mq_freeze_queue(), which should not occur in irq context.

This patch defers that aoedev_downdev() call to the aoe device's
workqueue.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=212665
Signed-off-by: Justin Sanders <jsanders.devel@gmail.com>
Link: https://lore.kernel.org/r/20250610170600.869-2-jsanders.devel@gmail.com
Tested-By: Valentin Kleibel <valentin@vrvis.at>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/block/aoe/aoe.h
drivers/block/aoe/aoecmd.c
drivers/block/aoe/aoedev.c