linux/drivers/block/aoe
Justin Sanders 3e554f1153 aoe: defer rexmit timer downdev work to workqueue
[ Upstream commit cffc873d68 ]

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>
History 2025-07-10 16:05:07 +02:00
..
aoe.h aoe: defer rexmit timer downdev work to workqueue 2025-07-10 16:05:07 +02:00
aoeblk.c block: move the nonrot flag to queue_limits 2024-06-19 07:58:28 -06:00
aoechr.c aoe: make aoe_class a static const structure 2023-06-21 07:45:19 -06:00
aoecmd.c aoe: defer rexmit timer downdev work to workqueue 2025-07-10 16:05:07 +02:00
aoedev.c aoe: defer rexmit timer downdev work to workqueue 2025-07-10 16:05:07 +02:00
aoemain.c aoe: Avoid flush_scheduled_work() usage 2022-05-01 06:41:41 -06:00
aoenet.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00