The current WRITE SAME (WS) 0 blocks test at LBA 0 isn't always correct
because if:
- The target's WSNZ bit set is 0
- The target's MAXIMUM WRITE SAME LENGTH (MWSL) is greater than 0
- We are issuing a WS with a NUMBER OF LOGICAL BLOCKS of 0
then whether the command should return success or failure depends on
whether the starting LBA is within MWSL blocks of the end of the LUN
(see http://www.t10.org/pipermail/t10/2016-May/017988.html for details).
Replace the vestigial code which tried to handle this (but no longer
worked since commit 8585e4509b ) and add
some additional MAXIMUM WRITE SAME LENGTH tests.
Signed-off-by: Sitsofe Wheeler <sitsofe@yahoo.com>
This directory contains a libiscsi based test tool.
The purpose of this test tool is to validate iscsi and scsi protocol compliance of a target.
Initiatornames and LUN-masking
==============================
If the target uses lun-masking or ACLs you need to set the target up to allow
iscsi-test access to the LUNs you want to test.
By default iscsi-test uses the following two initiator names :
iqn.2007-10.com.github:sahlberg:libiscsi:iscsi-test
iqn.2007-10.com.github:sahlberg:libiscsi:iscsi-test-2
Most tests only use the first name but some tests, such as the RESERVE/RELEASE
tests, will use both names.
Optionally you can use different initiatir names for your testing using the
command line flags :
--initiator-name=iqn.<some other name>
--initiator-name-2=iqn.<another different name>
Listing all tests and test details:
===================================
The --list argument is used to show a lost of all major tests that are available
iscsi-test --list
To list all tests and a description of each test and subtests, use
iscsi-test --list --info
Running tests:
==============
Running tests you need to specify which test to run using the --test argument.
This can either be the name of one specific test or a set of tests using * as
the wildcard character.
Example to run one specific test :
iscsi-test --test="T1020_bufferoffset_invalid" iscsi://127.0.0.1/iqn.ronnie.test/1
Example to run all READ10 tests :
iscsi-test --test="*read10*" iscsi://127.0.0.1/iqn.ronnie.test/1
Or to run every test :
iscsi-test --test="*" iscsi://127.0.0.1/iqn.ronnie.test/1