linux-stable/drivers/nvme/target
Sagi Grimberg 84026f8c93 nvmet: use a private workqueue instead of the system workqueue
[ Upstream commit 8832cf9221 ]

Any attempt to flush kernel-global WQs has possibility of deadlock
so we should simply stop using them, instead introduce nvmet_wq
which is the generic nvmet workqueue for work elements that
don't explicitly require a dedicated workqueue (by the mere fact
that they are using the system_wq).

Changes were done using the following replaces:

 - s/schedule_work(/queue_work(nvmet_wq, /g
 - s/schedule_delayed_work(/queue_delayed_work(nvmet_wq, /g
 - s/flush_scheduled_work()/flush_workqueue(nvmet_wq)/g

Reported-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-05-25 09:59:01 +02:00
..
admin-cmd.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
configfs.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
core.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
discovery.c nvmet: register discovery subsystem as 'current' 2021-10-27 08:06:04 +02:00
fabrics-cmd.c nvmet: set 'CNTRLTYPE' in the identify controller data 2021-10-20 19:16:02 +02:00
fc.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
fcloop.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
io-cmd-bdev.c nvmet: use bdev_nr_bytes instead of open coding it 2021-10-18 14:43:22 -06:00
io-cmd-file.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
Kconfig nvme: Have NVME_FABRICS select NVME_CORE instead of transport drivers 2021-08-16 21:03:18 +02:00
loop.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
Makefile nvmet: add ZBD over ZNS backend support 2021-06-17 15:51:21 +02:00
nvmet.h nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
passthru.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
rdma.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
tcp.c nvmet: use a private workqueue instead of the system workqueue 2022-05-25 09:59:01 +02:00
trace.c nvmet: add set feature tracing support 2021-08-16 14:42:23 +02:00
trace.h nvmet: use min of device_path and disk len 2021-02-10 16:38:05 +01:00
zns.c nvmet: remove redundant assignments of variable status 2021-08-16 14:42:23 +02:00