Spdk/lib
Jim Harris c80a57cad3 ublk: fix device queue shutdown processing
When a queue has finished processing on its polling
thread, it sends a message to the app thread signaling
that it is done.  Then when the app thread gets
messages from all of the queues for that device, it can
proceed with tearing the device down.

But if there are still ctrl_ring commands in progress,
it needs to wait.  Previously it would register a
poller that would retry the same function if it
found commands in progress.  But the problem is that
it did not differentiate the function getting called
as a direct message from the polling thread vs. retried
via the poller on the app thread.  This could result
in lost messages.

So fix it to always increment the queues_closed
counter (renamed from q_deinit_num), and then
only check for ctrl ring commands in progress after
we received all of the queue closed messages.

Signed-off-by: Jim Harris <james.r.harris@intel.com>
Change-Id: I0ea23ebc69acb29d5ab7e1d86ddbe74b9973e225
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16405
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Michal Berger <michal.berger@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
2023-01-24 17:09:34 +00:00
..
accel so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
bdev so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
blob so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
blobfs so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
conf so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
dma so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
env_dpdk so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
env_ocf update Intel copyright notices 2022-11-10 08:28:53 +00:00
event so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ftl so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
idxd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
init so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ioat so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
iscsi so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
json so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
jsonrpc so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
log so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
lvol so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
mlx5 so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nbd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
notify so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nvme so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
nvmf nvmf: pause/resume polling for the target 2023-01-24 14:49:24 +00:00
rdma so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
reduce so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
rocksdb rocksdb: remove spdk_thread 2022-11-23 08:22:04 +00:00
rpc so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
scsi so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
sock so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
thread so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
trace so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
trace_parser so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
ublk ublk: fix device queue shutdown processing 2023-01-24 17:09:34 +00:00
ut_mock so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
util so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vfio_user so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vfu_tgt so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vhost so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
virtio so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
vmd so_ver: increase all major versions 2023-01-24 08:37:21 +00:00
Makefile ublk: add configure and event/subsystem 2023-01-20 07:48:25 +00:00