Spdk/test
Shuhei Matsumoto 89ae0e3c62 lib/iscsi: Manage free connections not by array but by TAILQ
Previously free connections had been managed by g_conns_array,
and allocate_conn() gets the lowest free connection. This had worked
almost as LIFO, and the just freed connection had been reused
immediately to the new connection.

Using TAILQ makes management of free connections FIFO, and this will
be more intuitive and simpler, and avoid potential issues due to the
fact that we do not know the state INVALID is the current connection
or the current connection is exited and the new connection is allocated.

This patch includes following updates.

Remove the test condition that the connection ID should be zero.
Connection ID is used as Target Transfer Tag (TTT) and TTT is opaque
number. Hence requiring connection ID to be zero is not meaningful.

iscsi_conn_free() calls free_conn() while holding g_conns_mutex, but
iscsi_conn_construct() does not call free_conn() without holding
g_conns_mutex. Hence add g_conns_mutex to the latter.

Signed-off-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: I204f66469f0bf54845c773da5b4ac86f3c8dca60
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/3089
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
2020-07-13 08:39:50 +00:00
..
app make: Create variable for event_bdev dependencies 2020-07-08 07:56:46 +00:00
bdev make: Create variable for event_bdev dependencies 2020-07-08 07:56:46 +00:00
blobfs make: Create variable for event_bdev dependencies 2020-07-08 07:56:46 +00:00
blobstore build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
common pkgdep/git: Don't fail install_qat() if qat_c62x is not loaded 2020-07-08 08:11:20 +00:00
compress build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
config_converter test/config_converter: Declare $rootdir, $testdir paths 2020-02-20 09:54:15 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
dpdk_memory_utility build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
env Revert "env: Use rte_malloc in spdk_mem_register code path when possible" 2020-05-20 14:14:21 +00:00
event lib/thread: Use function name as poller name by using macro SPDK_POLLER_REGISTER 2020-04-15 07:23:09 +00:00
external_code sock: Add dependency on socket subsystem to other subsystems 2020-07-08 07:56:46 +00:00
ftl test/ftl: point to absolute path to setup.sh 2020-07-06 23:22:59 +00:00
fuzz check_format: Reformat the Bash code in compliance with shfmt 2020-05-07 20:52:21 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt lib/iscsi: Manage free connections not by array but by TAILQ 2020-07-13 08:39:50 +00:00
json_config build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
lvol build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
make test/check_so_deps: limit scope of header checks. 2020-06-29 09:19:46 +00:00
nvme test/cuse: wait for device after reset 2020-07-08 07:55:33 +00:00
nvmf test/nvmf: always test nvme-cli and build it too 2020-07-06 23:22:59 +00:00
ocf build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
openstack test/nvmf: Handle multiple arguments in nvmfappstart() 2020-05-13 07:46:04 +00:00
pmem build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
rpc build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
rpc_client lib/event: fix printing non-null-terminated strings 2020-04-06 07:48:37 +00:00
spdkcli build: Output executables from the app directory to build/bin 2020-06-15 15:27:16 +00:00
unit Revert "bdev/nvme: add a function for specifying a multipath trid." 2020-07-08 07:57:11 +00:00
vhost test/vhost: enable packed ring for BLK in performance tests 2020-06-15 15:27:25 +00:00
vmd build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
Makefile build: add option to disable building unit tests 2020-03-10 09:12:21 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00