clang defaults to c99 so remove inline statements
(http://clang.llvm.org/compatibility.html#inline ) on functions shared
across different translation units.
clang's linker doesn't like major numbers over 255 so change how SOREL
is generated in Makefile.am.
The ABI version was changed many times since the first release, but no
one noticed. Now that I am packaging a newer version of libiscsi
I need to bump the soname from 1 to 2, which will be (posthumously)
the ABI for 1.9.0. Declare the next version to have ABI version 3.
Please do not hesitate to ask for review of header-file patches to
catch ABI changes (which should be avoided!).
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
REPORT SUPPORTED OPCODES.
Opcodes that are listed in the full list of all supported opcodes as taking
a service action should work to ask reporting option 2 (uses service action)
from but fail when asked for option 1 (no service action)
Similarly, opcodes that are flagged as not taking a service action should
work when used with option 1 but fail with option 2.
Add a simple test that it works or is not implemented.
Add a RCTD test to verify that with this flag clear we get command descriptors without CTDP set and with it set we get command descriptors with CTDP set and a timeout descriptor
If the device does not support PI (INQ->PROTECT) then
verify that PROT_EN, P_TYPE and P_I_EXP are all zero.
If the device does support PI and IF PROT_EN is clear
then verify that both P_TYPE and P_I_EXP are zero.
If the device does support PI and IF PROT_EN is set
then verify that P_TYPE is 0, 1 or 2
Verify that the page length matches up with the size of the data in buffer.
Verify that page length is 0x3c if the device claims SBC-3, and 0x0c if not.
If the device claims SBC-3 and if it claims UNMAP support (LBPU)
then we check that both MAXIMUM UNMAP LBA COUNT and
MAXIMUM UNMAP BLOCK DESCRIPTOR COUNT looks sane.
Sane here means >0, <1M or 0xffffffff
If the device claims SBC-3 and if it does not claim UNMAP support (LBPU)
then we check that both MAXIMUM UNMAP LBA COUNT and
MAXIMUM UNMAP BLOCK DESCRIPTOR COUNT are both 0.
This makes sure that CHAP authentication is disabled if the system
is running in FIPS 140-2 mode. MD5 is not a secure algorithm according
to the standard.
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Default to 0 meaning no timeout.
Implement a test for iSCS to test what happens if we send a command
with CMDSN being higher than the target allows.
In this case we dont strictly know what will happen, just that what should
NOT happen is the target responding with success.
But we have to be prepared for any kind of failure, including a timeout,
scsi sense, or even iscsi reject or session failure.
Also test that IF the iSCSI layer provides 2 blocks of DATA-OUT but
the SCSI WRITE* command only covers one single block,
then only the first block will be modified but not the second block.