Spdk/lib/nvme
Szulik, Maciej 51ae6d4002 nvme/tcp: add max_completion exit condition to loop inside read_pdu
A loop inside 'nvme_tcp_qpair_process_completions' makes
'max_completions' actually behaving like a minimum:
	do {
		rc = nvme_tcp_read_pdu(tqpair, &reaped);
		[...]
	} while (reaped < max_completions);

Before this change 'max_completion' constraint, in its true sense,
was actually not respected and a loop inside 'nvme_tcp_read_pdu'
could be executed indefinitely as long as a recv state changed.

To prevent this behavior, max_completion must be passed to
'nvme_tcp_read_pdu' and used as an additional exit condition.

Signed-off-by: Szulik, Maciej <maciej.szulik@intel.com>
Change-Id: I28da962f4a62f08ddb51915b5d0dae9611a82dee
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15136
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@nvidia.com>
2022-10-26 07:35:21 +00:00
..
Makefile vfio_user: remove CONFIG_VFIO_USER flag for client library 2022-09-29 19:42:56 +00:00
nvme_ctrlr_cmd.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_ctrlr_ocssd_cmd.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ctrlr.c nvme/tcp: Allow to choose SSL socket implementation 2022-09-14 07:44:53 +00:00
nvme_cuse.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_cuse.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_discovery.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_fabric.c nvme_fabrics: Lock mutext when prcessing set/get regs 2022-07-15 16:06:54 +00:00
nvme_internal.h nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
nvme_io_msg.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_io_msg.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ns_cmd.c nvme: add support for verify command 2022-08-16 10:25:01 +00:00
nvme_ns_ocssd_cmd.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_ns.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_opal_internal.h Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_opal.c check_format: For C files only, fix return type breaks 2022-06-27 09:33:48 +00:00
nvme_pcie_common.c nvme_pcie_common: Move group right before using. 2022-09-01 08:26:34 +00:00
nvme_pcie_internal.h nvme: apply nvme_pcie_poll_group_get_stats to vfio-user 2022-07-22 06:43:35 +00:00
nvme_pcie.c nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
nvme_poll_group.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme_qpair.c nvme: complete register_operations in the correct process 2022-08-18 10:09:55 +00:00
nvme_quirks.c nvme: add admin queue size quirk for Hyper-V 2022-09-01 08:31:46 +00:00
nvme_rdma.c nvme/rdma: Inline nvme_rdma_calloc/free 2022-09-20 20:27:52 +00:00
nvme_tcp.c nvme/tcp: add max_completion exit condition to loop inside read_pdu 2022-10-26 07:35:21 +00:00
nvme_transport.c nvme: Polls only the qpair if ctrlr is not fabrics when connecting synchronously 2022-09-05 12:50:00 +00:00
nvme_vfio_user.c lib/nvme/vfio: destruct ctrlr in failed cases 2022-10-17 12:52:55 +00:00
nvme_zns.c Replace most BSD 3-clause license text with SPDX identifier. 2022-06-09 07:35:12 +00:00
nvme.c nvme/tcp: Allow to choose SSL socket implementation 2022-09-14 07:44:53 +00:00
spdk_nvme.map nvme: add spdk_nvme_ctrlr_disable_read_changed_ns_list_log_page() 2022-08-25 07:31:44 +00:00