Commit Graph

184 Commits

Author SHA1 Message Date
Paolo Bonzini
ebaecfa928 fix rpmlint problems
This fixes all rpmlint problems except for missing manpages and the
invalid URL for the tarball.
2011-10-28 17:05:00 +02:00
Paolo Bonzini
b4bddce2c6 compile the library if popt is not available 2011-10-28 17:05:00 +02:00
Paolo Bonzini
a235a20fda remove LOGDIR
It looks unused
2011-10-28 17:05:00 +02:00
Paolo Bonzini
17319072b1 use automake and libtool
This commits replaces the handwritten makefile with automake+libtool.
There is some hackery needed for the LD_PRELOAD shared library,
but apart from that there is nothing special and it is a large gain in
portability and standardization.

The spec file is modified as little as is needed to properly build
the RPMs.
2011-10-28 17:04:59 +02:00
Paolo Bonzini
d56fa027ff add .gitignore 2011-10-28 16:39:24 +02:00
Paolo Bonzini
d1f2f854da ld_iscsi: use constructor attribute
This is cleaner, and libtool otherwise complains.
2011-10-28 15:54:03 +02:00
Paolo Bonzini
ae5caa645f add LGPL file 2011-10-28 15:53:25 +02:00
Ronnie Sahlberg
9bfc3f095d Logout processing is a bit broken since it does not update the cmdsn properly
Copy the code to initialize the cmdsn and expstatsn from nop.c
2011-10-16 13:58:07 +11:00
Ronnie Sahlberg
2f23773390 add sync write10 2011-09-29 22:01:53 +10:00
Ronnie Sahlberg
ad7651006d Merge pull request #4 from bonzini/master
warning fixes for libiscsi
2011-09-21 03:09:54 -07:00
Paolo Bonzini
217bf6f53e fix warning from -Wswitch 2011-09-21 12:01:39 +02:00
Paolo Bonzini
a1975e90f6 fix warning from -Wuninitialized 2011-09-21 12:00:20 +02:00
Paolo Bonzini
c940381b59 fix warning from -Wsign-compare 2011-09-21 11:51:36 +02:00
Paolo Bonzini
b4a48511ff fix warning from -Wenum-compare 2011-09-21 11:49:58 +02:00
Ronnie Sahlberg
3c11c3598b Add a function to cancel a scsi task from libiscsi. 2011-09-19 21:21:40 +10:00
Ronnie Sahlberg
a974e8efe1 When a scsi task / pdu has been cancelled, pass back SCSI_STATUS_CANCELLED to the task callback and not default to SCSI_STATUS_ERROR 2011-09-19 21:12:32 +10:00
Ronnie Sahlberg
0a9049ad65 remove debug messages 2011-09-10 14:02:22 +10:00
Ronnie Sahlberg
49017fda58 OpenSolaris: Add support for opensolaris 2011-09-01 18:04:29 +10:00
Ronnie Sahlberg
57b9edabbf add windows as tested platform 2011-08-31 13:13:20 +10:00
Ronnie Sahlberg
c3d3123981 Windows: Add support to build as a DLL under windows 2011-08-31 13:12:30 +10:00
Ronnie Sahlberg
9f724b34f2 add cygwin and freebsd as tested platforms 2011-07-18 10:38:26 +10:00
Ronnie Sahlberg
cbc5bd5f96 only build the LD_PRELOAD hack on linux 2011-07-17 09:56:52 +10:00
Ronnie Sahlberg
768e6b5418 Merge pull request #3 from djs55/rpm-build-fix
Small patch to fix the RPM build on CentOS 5.5
2011-07-14 01:32:42 -07:00
David Scott
96a0dff1be Fix the RPM build on CentOS 5.5
This is needed because prefix is being set directly to $(DESTDIR) in Makefile.in
2011-07-12 14:47:33 +01:00
Ronnie Sahlberg
caf8ade440 Update the QEMU patch to work against current qemy master branch 2011-06-12 12:59:57 +10:00
Ronnie Sahlberg
0be42c8833 If an application specifies zero-copy read-buffers to read the data into
for a read10 call, the application might have specified too few buffers
for the full I/O.
For example if the application tries to read just 512 bytes off a MMC device.

In this case we wopuld run out of buffers and fail with a SEGV.

Instead of failing like this, return NULL from the function to locate a suitable buffer and read the remaining data from the command into the callback buffer instead, just like when no read-buffer at all has been specified.
2011-06-12 10:44:31 +10:00
Ronnie Sahlberg
de97dbdde8 start implementing mode page unmarshalling 2011-04-23 14:02:59 +10:00
Ronnie Sahlberg
8bc4150e31 Fix typo in a printed string 2011-04-22 12:23:53 +10:00
Ronnie Sahlberg
9aaf1e5de4 Add tests for invalid READ6 commands 2011-04-22 12:03:51 +10:00
Ronnie Sahlberg
2838e6f6ac Add tests for reading beyong eol for READ6 2011-04-22 11:41:33 +10:00
Ronnie Sahlberg
4355462cf9 Qemu patch. Update the qemu patch to provide task management abort task
when the qemu cancels an i/o.

Update the patch to use FUA on all writes when qemu is in writethrough
mode.

Update to apply and compile against current master for qemu
2011-04-22 07:53:01 +10:00
Ronnie Sahlberg
7a4b1d2640 Fix documentation of how to use 'zero-copy' reads.
The function to specify the read buffers is called
scsi_task_add_data_in_buffer, not scsi_task_add_data_buffer

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2011-04-22 07:51:47 +10:00
Ronnie Sahlberg
3a39201543 Add 'zero-copy' in libiscsi for reads.
It is not real zero-copy since the data is still copied in the kernel,
but it avoids copying the data inside libiscsi as well as in the callback.

For SCSI tasks that will return data from the target, the application can now
specify application buffers for libiscsi to read the data directly into.
This is done by calling scsi_task_add_data_in_buffer(task, ...

These buffers need not be linear, you can specify different areas to read into
by calling this function several times.

See examples/iscsiclient.c for an example.
2011-04-20 05:46:17 +10:00
Ronnie Sahlberg
acc2871ab0 Fix the 4 residual tests for read10 2011-04-18 17:38:50 +10:00
Ronnie Sahlberg
7fe457cea8 We can get over/underflow residuals in a DATA-IN segment if/when the S bit is set too. 2011-04-18 17:31:47 +10:00
Ronnie Sahlberg
ea6079d953 run all tests in t0105 even if one of the tests fail 2011-04-18 12:49:14 +10:00
Ronnie Sahlberg
8007398b9b Add a few more tests of READ10 with a mismatch between the amount of data
specified in the CDB XFERLENGTH and the iSCSI EDTL
2011-04-17 06:50:20 +10:00
Ronnie Sahlberg
26ad3da518 Add a description if iscsi-test to the README file 2011-04-16 16:54:19 +10:00
Ronnie Sahlberg
51ef550414 Add -f to rm when cleaning up to get rid of error message when running make clean twice 2011-04-16 16:49:10 +10:00
Ronnie Sahlberg
a1715ae21a Add a simple SCSI test tool.
For now focused on SBC but should be enhanced to cover other commandsets too
2011-04-16 16:47:38 +10:00
Ronnie Sahlberg
f4ef49e068 Add missing prototype for the read6 cdb function 2011-04-16 16:29:00 +10:00
Ronnie Sahlberg
3a29351dac Read out the residual count correctly from the scsi reply 2011-04-16 16:28:40 +10:00
Ronnie Sahlberg
4551b01104 compiler warning about unusued variable 2011-04-16 16:28:30 +10:00
Ronnie Sahlberg
024f7dc94e In iscsi_scsi_response_cb()
dont pick task up from the argument, since this callback can be invoked
from places where we dont have/know the task strucutre and it is thus NULL.

Instead pick it up from scsi_cbstruct.

This prevents a SEGV when processing REJECT to SCSI commands.
(the scsi command callback dereferences the task pointer)
2011-04-16 13:51:32 +10:00
Ronnie Sahlberg
49dd0fb8b3 Add definition of INVALID OPERATION CODE asqc 2011-04-16 09:55:48 +10:00
Ronnie Sahlberg
07ad0572f2 Add support for READ6 2011-04-16 08:06:16 +10:00
Ronnie Sahlberg
b6782dd7c8 TCP KEEPALIVE support
Add tcp keeplaive support on platforms that support these socket options.
Set default to fail the socket after 120 seconds
2011-04-13 21:37:28 +10:00
Ronnie Sahlberg
120f41f225 TODO: Update TODO to reflect we now do target driven NOPs 2011-04-10 15:37:19 +10:00
Ronnie Sahlberg
ef846b0f30 Target initiated NOP:
Initial support to try to respond to target initiated NOPs.
2011-04-10 15:33:42 +10:00
Ronnie Sahlberg
cfe19486ee Add RESERVATION CONFLICT
From Richard Sharpe,  add support to handle when a target responds with
RESERVATION CONFLICT to a scsi i/o
2011-04-09 12:00:10 +10:00