numam-spdk/test
GangCao 6b7e9d0af2 Lib/iSCSI: add the LUN Resize support
From SAM-4, section 5.13 (Sense Data);
“When a command terminates with a CHECK CONDITION status, sense data shall be returned
in the same I_T_L_Q nexus transaction (see 3.1.50) as the CHECK CONDITION status. After
the sense data is returned, it shall be cleared except when it is associated with a unit
attention condition and the UA_INTLCK_CTRL field in the Control mode page (see SPC-4)
contains 10b or 11b.”

SPDK does not set UA_INTLCK_CTRL to 10b or 11b, so we set the unit attention condition
immediately against a single IO or Admin IO after reporting it via a CHECK CONDITION.
Once the failed IO received at iSCSI initiator side, it will be retried. In the case of
resize operation, if there is no IO from iSCSI initiator side, the unit attention
condition will be delayed to report until the first IO is received at the iSCSI target
side.

Meanwhile, we clear the resizing (newly added) flag on our SCSI LUN structure after
first time we report the resize unit attention condition.

The kernel initiator won’t actually resize the corresponding block device automatically.
It will report a uevent, and then you can set up udev rules to trigger a rescan. SPDK
iSCSI initiator will automatically report the LUN size change.

Change-Id: Ifc85b8d4d3fbea13e76fb5d1faf1ac6c8f662e6c
Signed-off-by: GangCao <gang.cao@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/11086
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
2022-01-20 07:56:23 +00:00
..
accel_engine test/accel_engine: add more test cases 2021-09-01 07:34:02 +00:00
app test/llvm_nvme_fuzz: add NAMESPACE ATTACHMENT and NAMESPACE MANAGEMENT 2022-01-12 08:21:14 +00:00
bdev autotest: Skip use of any zoned nvme devices 2021-12-06 08:34:46 +00:00
blobfs test/blobfs: update rocksdb version 2021-12-14 13:23:30 +00:00
blobstore scheduler: Change main core frequency dynamically 2021-01-22 18:31:25 +00:00
common autopackage: Move extra RPM tests to nightly 2022-01-05 09:24:59 +00:00
compress test/nvmf: use recommended nvmf_create_subsystem rpc 2021-05-20 15:00:22 +00:00
cpp_headers queue_extras: use SPDK_CONTAINEROF 2019-10-07 15:06:01 +00:00
dd test/dd: Simple tests utilizing uring RPCs 2021-12-20 08:46:13 +00:00
dma test/dma: Update the test to run IO for some time 2021-11-18 08:21:43 +00:00
dpdk_memory_utility check_format: Ignore shellcheck's SC2128 and SC2178 directives 2021-06-30 22:43:05 +00:00
env spelling: test 2021-12-03 08:13:22 +00:00
event spelling: test 2021-12-03 08:13:22 +00:00
external_code spelling: test 2021-12-03 08:13:22 +00:00
ftl autotest: Skip use of any zoned nvme devices 2021-12-06 08:34:46 +00:00
fuzz nvme_fuzz: pass trid on command line only 2021-09-27 10:55:34 +00:00
interrupt spelling: test 2021-12-03 08:13:22 +00:00
ioat build: Example applications build to build/example 2020-06-15 15:27:16 +00:00
iscsi_tgt Lib/iSCSI: add the LUN Resize support 2022-01-20 07:56:23 +00:00
json_config test/json_config: Simplify events check 2021-12-16 08:49:53 +00:00
lvol spelling: test 2021-12-03 08:13:22 +00:00
make build: don't put out-of-tree ocf build in build/ dir 2021-08-17 08:54:30 +00:00
nvme nvmf/vfio-user: assign IO SQs which use shared CQ into same poll group 2022-01-20 00:13:42 +00:00
nvmf nvmf/rdma: Round up in_capsule_data_size to support msdbd=16 2022-01-20 00:37:30 +00:00
ocf check_format: Fixes for shellcheck's SC2251 directive 2021-06-30 22:43:05 +00:00
openstack test/openstack: restart whole devstack before tests 2021-12-23 08:36:21 +00:00
pmem spelling: test 2021-12-03 08:13:22 +00:00
rpc autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
rpc_client build: use DEPDIRS variables to build SPDK_LIB_LIST 2020-12-18 09:40:01 +00:00
rpc_plugins autotest: Use rpc_cmd() for rpc plugin-based tests 2021-04-02 08:22:42 +00:00
scheduler test/scheduler: Ignore failures while removing dummy cgroups 2022-01-05 09:23:57 +00:00
setup autotest: Skip use of any zoned nvme devices 2021-12-06 08:34:46 +00:00
spdkcli autotest: Don't override default amount of hugepages on Linux to 8GB 2021-06-24 17:33:10 +00:00
thread test/thread: Add poller_perf to evaluate cost to run poller 2021-08-20 07:29:42 +00:00
unit Lib/iSCSI: add the LUN Resize support 2022-01-20 07:56:23 +00:00
vfio_user test/vfio_user: Restart vm, check if memory region register/unregister failed 2021-12-31 10:10:24 +00:00
vhost test/vhost: add vfio_user mode to performance scripts 2022-01-20 07:55:58 +00:00
vmd test: replace VMD_WHITELIST with VMD_ALLOWED 2020-12-03 09:41:07 +00:00
Makefile test/dma: Add functional test to verify DMA 2021-09-24 07:37:45 +00:00
spdk_cunit.h test: remove leftover spdk_cunit declaration 2018-07-06 22:47:56 +00:00