]> 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 13:59:50 +0000 (15:59 +0200)
commit2148b9142ab94544f4146473f819da18a78ec0fa
tree2cff7b77117ebe2ea54bec415ce812ecf81f43dd
parent1627dda4d70ceb1ba62af2e401af73c09abb1eb5
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