Commit Graph

116 Commits

Author SHA1 Message Date
Peter Lieven
c2836e2a9a DPRINTF add iscsi target_name if available
This patch adds the iscsi target name to the debug output
2012-10-23 10:53:14 +02:00
Peter Lieven
78a31ad4a1 Add iscsi_set_tcp_syncnt function
This patch adds support for setting TCP_SYNCNT to overwrite
the system default values. This allows indirect support
for a configurable connect timeout.

Linux uses a exponential backoff for SYN retries starting
with 1 second.

This means for a value n for TCP_SYNCNT, the connect will
effectively timeout after 2^(n+1)-1 seconds.
2012-10-20 18:43:48 +02:00
Peter Lieven
ad9cd56b2d Add setters for TCP keepalive values
This patch adds 3 functions to set the 3 keepalive values TCP_KEEPIDLE, TCP_KEEPCNT
and TCP_KEEPINTVL. The values have to be set after iscsi context creation and are
then configured on the socket on each new connection.
2012-10-19 23:40:12 +02:00
Peter Lieven
f973608578 Add iscsi_tcp_set_user_timeout function
This patch adds a user configurable option to set the TCP_USER_TIMEOUT
socket option. With this timeout set a broken TCP session is shutdown
after a given timeout even there are unacked packets. SO_KEEPALIVE
seems not to work in this case.
2012-10-18 11:55:15 +02:00
Peter Lieven
cb6f2ce252 iSCSI Redirect support
This patch adds support for persistant portals like they are common
to storage arrays with different interfaces or physical members.
2012-10-18 10:48:52 +02:00
Peter Lieven
4cb845477d Add debugging framework
This patch adds a user configurable debug level. For testing
it includes connection info and reporting errors.
2012-10-18 10:36:26 +02:00
Ronnie Sahlberg
b673d8ed57 CONNECT: export the iscsi_reconnect() function.
There are situations where you may want to trigger an iscsi reconnect
explicitely from an application so make this function exposed to applications.
2012-10-16 21:30:39 -07:00
Ronnie Sahlberg
c3adf1d814 Merge pull request #20 from jongrimm/master
RESERVE6/RELEASE6 Commands + testcase.
2012-09-27 18:39:22 -07:00
Jon Grimm
c7d8d2593c Add RESERVE6/RELEASE6 Support. 2012-09-27 12:45:06 -05:00
Ronnie Sahlberg
85e427ea54 SCSI: READTOC change alloclen to a uint32 and encode it in the CDB 2012-09-25 06:54:01 -07:00
Jon Grimm
e55ec72f36 Add Read TOC (0x43) Command Support (and basic testcase). 2012-09-24 10:15:00 -05:00
Ronnie Sahlberg
dd006029a2 SCSI: Add unmarshalling of inquiry ADITIONAL_LENGTH field 2012-09-12 06:57:41 -07:00
Ronnie Sahlberg
116af01156 TYPO: Change periperal_device_type to just device_type
but leave the old name as a define for backward compatibility
2012-09-03 09:45:59 -07:00
Ronnie Sahlberg
5639b92d95 Improve documentation for when tasks may be cancelled 2012-08-31 16:18:59 -07:00
Ronnie Sahlberg
0cf42c3662 TESTS: Add a test for ISCSI CMDSN out of range
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-08-10 15:36:10 +10:00
Ronnie Sahlberg
71be26ad03 Add tracking of MAXCMDSN 2012-08-02 09:09:22 +10:00
Ronnie Sahlberg
77d8e41be7 TESTS: Add a mechanism to temporarily disable the session reconnect
Some tests may cause a target to drop the session.
For these tests we DO want the test tool to detect that the command
failed and later reconnect the session again when we proceed to the next subtest

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-08-01 16:32:40 +10:00
Ronnie Sahlberg
1f98c40edf DATASN: We have to increment DATASN in each DATA-OUT PDU in a sequence.
For writes that span across multiple DATA-OUT segments we have to
increment the DATASN field for each segment.
We didnt use to, and most targets were perfectly happy, ignoring that the DATASN was constant 0 for every DATAOUT we sent.
LIO however does check this and did cause it to reject the libiscsi test tool.
(This is something we should write a iscsi test for  so we can flag all non-LIO targets as broken and needing to be fixed)

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-08-01 13:30:13 +10:00
Ronnie Sahlberg
2a15e39460 Add a new sense code 2012-07-30 07:38:38 +10:00
Ronnie Sahlberg
43bf059fca Add ASCQ for MEDIUM_REMOVAL_PREVENTED 2012-07-21 10:28:32 +10:00
Ronnie Sahlberg
16da01ed4e Add PREVENTALLOWMEDIUMREMOVAL support 2012-07-17 18:12:03 +10:00
Ronnie Sahlberg
025136e81c Add support for STARTSTOPUNIT command 2012-07-15 08:10:39 +10:00
Ronnie Sahlberg
1ce5d97e57 TEST: Add test for ORWRITE command 2012-07-14 17:29:58 +10:00
Ronnie Sahlberg
11f7da678b Add support for ORWRITE 2012-07-14 17:01:38 +10:00
Ronnie Sahlberg
017bb69ccd Add new sense code for miscompare during verify 2012-07-14 12:49:42 +10:00
Ronnie Sahlberg
bac1d4d7af We need to allow >uint8_t as xferlen since this is in unit of bytes, not blocks in the libiscsi api 2012-07-14 12:31:38 +10:00
Ronnie Sahlberg
bdd6e6bb11 Add support for COMPARE_AND_WRITE command 2012-07-14 11:34:40 +10:00
Ronnie Sahlberg
29f5e9378f Add support for WRITEVERIFY10/12/16 2012-07-14 08:19:43 +10:00
Ronnie Sahlberg
1745f76bef Add SYNCHRONIZECACHE16 support 2012-07-13 10:19:44 +10:00
Ronnie Sahlberg
a34874289b Add ascq for WRITE_PROTECTED 2012-07-13 09:43:21 +10:00
Ronnie Sahlberg
3221e631c0 MODE_SENSE Add sync version of mode sense 6 2012-07-13 09:33:41 +10:00
Ronnie Sahlberg
6f4afb6edb MEDIUM_NOT_PRESENT/TRAY-CLOSED/TRAY_OPEN is not an error that blocks a successful connect 2012-07-12 18:55:35 +10:00
Ronnie Sahlberg
cadc1650e1 Add ASCQ for MEDIUM_NOT_PRESENT 2012-07-10 16:40:58 +10:00
Arne Redlich
6edf993507 Make headers in include/ digestible for C++
Also removes trailing whitespace in these files.

Signed-off-by: Arne Redlich <arne.redlich@googlemail.com>
2012-07-08 13:38:41 +02:00
Arne Redlich
121e555897 slist.h: add include guards
Signed-off-by: Arne Redlich <arne.redlich@googlemail.com>
2012-07-08 13:34:22 +02:00
Ronnie Sahlberg
d5f646099d READ10/WRITE10: Change these functions to sue the same signatures as the other READ/WRITE
Harmonize the signatures for READ10/WRITE10 to match the ones for READ12/16 and WRITE12/16

This breaks the API/ABI so this forces the next version of the library to bump the major version to 2.0

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-06-05 19:20:02 +10:00
Ronnie Sahlberg
9130d2eb45 Add support for VERIFY12 and tests
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-06-04 20:35:15 +10:00
Ronnie Sahlberg
6003000809 Add VERIFY16 support and tests
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-06-04 20:16:44 +10:00
Ronnie Sahlberg
812df62bfd SBC: Add GET_LBA_STATUS support and simple test 2012-05-30 18:41:12 +10:00
Ronnie Sahlberg
ed4b8ec72e W32: Remove our poor emulation of poll() from the w32 build. 2012-05-13 16:46:38 +10:00
Michael Tokarev
aee0e3bf72 always export iscsi_set_tcp_keepalive()
Set only the (socket) options which are defined on a given platform.
The function becomes a no-op if no option is known at complie time.
Remove autoconf test for HAVE_TCP_KEEPALIVE too.

Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2012-05-12 08:41:34 +10:00
Ronnie Sahlberg
733b97f4b8 Add PREFETCH10/16 implementations 2012-05-03 06:21:49 +10:00
Ronnie Sahlberg
2e3126b9ac TESTS: add tests for READ12/16 RDPROTECT for luns without protection information 2012-05-02 20:14:51 +10:00
Ronnie Sahlberg
974738968d Implement READ/WRITE_12/16 and a simple test for read16
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-05-01 21:54:32 +10:00
Ronnie Sahlberg
9e5535adfd Reconnect: If we are logged in and we experience a session failure, then
try to re-connect and redrive all I/O

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-05-01 18:46:30 +10:00
Ronnie Sahlberg
9c6447b73a SENSE: add a sense key and an ascq 2012-04-28 15:03:43 +10:00
Ronnie Sahlberg
568e4ddfcc SBC: Add support for WRITESAME16 and add simple tests using it to unmap blocks from a thin provisioned lun 2012-04-28 14:34:47 +10:00
Ronnie Sahlberg
cc0fa15e14 SBC: Add support for WRITESAME10 and a simple test for using writesame10 to unmap blocks from thin provisioned luns 2012-04-28 13:55:37 +10:00
Ronnie Sahlberg
dd5f94b2ca Add support for UNMAP command and add a simple test for this opcode 2012-04-22 08:09:15 +10:00
Ronnie Sahlberg
d71a9d4f95 Add support for BLOCK LIMITS VPD page
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2012-04-20 17:57:40 +10:00