209 Commits

Author SHA1 Message Date
Ronnie Sahlberg
3c48aea225 Add initial multithreading support and example
This is the basic support for doing i/o in a separate worker thread.
It is still not threads safe but a start.
Now we need to protect all variables such as outqueue, waitpdu
and friends.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2025-04-26 08:56:16 +10:00
Han Han
393d5e5204 Add utils.h to dist_noinst_HEADERS
Fix the compiling error when runing packaging/RPM/makerpms.sh:

libtool: compile:  gcc -DHAVE_CONFIG_H -I. -I.. -I./../include -I./include -Wall -W -Wshadow -Wstrict-prototypes -Wpointer-arith -Wcast-align -Wcast-qual -Wvla -Wno-unknown-warning-option -Wno-stringop-truncation -Wno-unused-parameter -Werror -Wwrite-strings -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -c sync.c -o libiscsipriv_la-sync.o >/dev/null 2>&1
scsi-lowlevel.c:59:10: fatal error: utils.h: No such file or directory
   59 | #include "utils.h"
      |          ^~~~~~~~~

Signed-off-by: Han Han <hhan@redhat.com>
2024-09-14 15:07:51 +08:00
Tianren Zhang
2b8905b4f9 add README.md to dist tarball
README is required in rpm spec, but not included into the dist
tarball
2021-09-12 03:44:23 -04:00
Tianren Zhang
e31fe70fb5 add libiscsi.syms.in to dist tarball
libiscsi.syms.in is required for 'make libiscsi.syms'
2021-09-12 03:30:51 -04:00
Bart Van Assche
2a5a0b3291 Enable -Wno-unused-parameter
Instead of adding __attribute__((unused)) to unused arguments, add the
-Wno-unused-parameter compiler flag.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2021-05-23 13:23:41 -07:00
Bart Van Assche
ea6b2282d4 Use __attribute__((format(printf, ...))) directly
Instead of defining the macro _R_(), define __attribute__() as a macro for
compilers that do not support __attribute__(), namely Microsoft Visual
Studio.

Signed-off-by: Bart Van Assche <bvanassche@acm.org>
2021-05-23 11:52:40 -07:00
orbea
c547d2dc7f build: Remove bogus LDADD variables
Signed-off-by: orbea <orbea@riseup.net>
2021-05-22 19:31:50 -07:00
Thanos Makatos
f82a899fc5 include iser-private.h in make dist tarball
Signed-off-by: Thanos Makatos <thanos.makatos@nutanix.com>
2020-06-01 05:58:01 -07:00
Ronnie Sahlberg
d1e589655b win32: we don't have a vsbuild.bat file any more
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2019-07-14 07:53:18 +10:00
Yann E. MORIN
a8d54cc82d buildsys: add option to enable/disable building the examples
In a production system, the examples are not needed.

Add a configure option to disable building the examples.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2018-12-04 10:47:34 +01:00
Yann E. MORIN
eec4954986 buildsys: add option to enable/disable build of test-tool
When doing a production system, the production environment has been
pre-validated (with this test-toll or by other means), so the teest-tool
is not needed in production.

Add a configure option to disable building test-tool.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2018-12-04 09:27:32 +01:00
Yann E. MORIN
fb2e460df9 buildsys: add option to enable/disable building tests
When doing cross-compilation, the tests are meant to be run on the
target. However, they are currently not installed, so it does not make
sense to build tehm to start with.

Additionally, when doing a system for production, those tests are not
needed anyway.

Add a configure option to disable building the tests altogether.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2018-12-04 09:27:32 +01:00
Ronnie Sahlberg
514de96e15 TEST-TOOL: We need to include the multipath header in the dist files
or else we break all building of RPMs, which is not good.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-06-04 00:04:55 -07:00
Ronnie Sahlberg
0ae2e936df Add tests t Makefile.am subdirectories
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-05-10 10:04:04 -07:00
Ronnie Sahlberg
24601a36ee MAKEFILE.AM cleanups 2014-03-22 18:21:27 -07:00
Ronnie Sahlberg
aff5ef7ed2 AUTOTOOLS: Build the ld preload thing as part of examples 2014-03-22 18:11:30 -07:00
Ronnie Sahlberg
ae60611f68 AUTOTOOLS: Add Makefile.am for examples/ 2014-03-22 17:46:02 -07:00
Ronnie Sahlberg
ea790b2f75 AUTOTOOLS: Add Makefile.am to test-tool 2014-03-22 16:46:25 -07:00
Ronnie Sahlberg
c07779cfa7 AUTOTOOLS: Add a Makefile.am for the iscsi-* utilities 2014-03-22 13:10:19 -07:00
Ronnie Sahlberg
65d3597c1b AUTOTOOLS: Create Makefile.am for lib 2014-03-22 13:10:15 -07:00
Ronnie Sahlberg
5500f84402 AUTOTOOLS: Create a separate Makefile.am for the docs directory 2014-03-22 13:10:07 -07:00
Ronnie Sahlberg
7d1f7a5308 DOCS: Add configure --enable-manpages which controls whether to build the manpages or not 2014-03-22 13:08:24 -07:00
Ronnie Sahlberg
b1d82d7cb1 DOCS: Use a default build rule for the manpages 2014-03-22 13:08:05 -07:00
Ronnie Sahlberg
3e00541fae Create RPM target for the testsuite 2014-02-09 18:15:12 -08:00
Ronnie Sahlberg
cc81b67620 TESTS: Add tests for invalid iSCSI DATASN values. 2014-01-26 09:35:17 -08:00
Ronnie Sahlberg
448f470d4a Set SOCURRENT/REVISION/AGE manually from Makefile.am 2013-12-24 13:14:48 -08:00
Ronnie Sahlberg
b58b61cb37 Add some missing files to 'make dist' 2013-12-16 18:42:48 -08:00
Ronnie Sahlberg
52e1a8c14f Remove the generated manpages on make clean 2013-12-16 18:31:45 -08:00
Ronnie Sahlberg
8aa6d9de8f TESTS: Add a test for COMPARE_AND_WRITE when the data to verify does not match 2013-09-23 21:58:55 -07:00
Ronnie Sahlberg
9f1a28f753 TESTS: Add an initial simple test for COMPARE_AND_WRITE
Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2013-09-22 17:02:30 -07:00
Sitsofe Wheeler
7417a6fcf5 Fix Makefile.am breakage.
Complete the changes made in commit 7692027.
2013-09-18 17:02:56 +01:00
Sitsofe Wheeler
7692027d6c Fix compilation issues under clang
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.
2013-09-09 18:04:06 +01:00
Paolo Bonzini
d4a6e4b3e3 bump ABI version
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>
2013-08-02 13:04:16 +02:00
Ronnie Sahlberg
d901700633 Add a test that a sanitize operation will continue across resets
Verify that abort task/abort task set/lun reset/warm reset/cold reset
and full blown session failures will not affect a sanitize that is in
progress
2013-07-21 14:11:13 -07:00
Ronnie Sahlberg
a3283fbafd TESTS: Add a test that SANITIZE fails when SWP is on. 2013-07-09 02:27:30 -07:00
Ronnie Sahlberg
6e5a5745aa TESTS: Add a test that SANITIZE commands fail when there is a RESERVATION 2013-07-09 01:51:00 -07:00
Ronnie Sahlberg
6b93af26a9 Add utility to get/set the software write protect flag 2013-07-06 21:59:03 -07:00
Ronnie Sahlberg
cee82ad135 TESTS: Add tests for the reserved bits/bytes in SANITIZE 2013-07-05 13:32:49 -07:00
Ronnie Sahlberg
a16dd132db TESTS: Add a test and verify we dont get residuals for MODE SENSE 6 2013-05-30 22:01:25 -07:00
Ronnie Sahlberg
3766067328 TESTS: Add a simple test for MODESENSE6 that we can read it and we get at least 3 bydet of mode data (minimum size, header only) 2013-05-30 21:40:52 -07:00
Ronnie Sahlberg
b5a31571dc TESTS: Remove the READ6 0-blocks test.
Since you can not request a read for 0 blocks with READ6
this test makes no sense.
(transfer length ==0  means 256 blocks for READ6)
2013-05-29 19:05:39 -07:00
Ronnie Sahlberg
b193e08be8 Tests: Update the SANITIZE tests 2013-05-26 19:36:35 -07:00
Ronnie Sahlberg
1c832923c8 Add test that all undefined SANITIZE service actions return an error. 2013-05-26 15:30:26 -07:00
Ronnie Sahlberg
4e08d27031 Add tests from SANITIZE OVERWRITE parameter length 2013-05-26 15:21:43 -07:00
Ronnie Sahlberg
e5e8d7e3ef TESTS: Add a simple test for SANITIZE OVERWRITE 2013-05-26 11:48:45 -07:00
Ronnie Sahlberg
eebd04e613 Add initial support for SANITIZE and a simple test to generate this opcode. 2013-05-25 16:02:02 -07:00
Ronnie Sahlberg
c9ee8525b2 TESTS: Add a test for the reprot one command reporting options for
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.
2013-05-19 07:27:33 -07:00
Ronnie Sahlberg
2753878cd3 TEST: REPORT SUPPORTED OPCODES, SERVACTV
When this flag is clear then service action must be zero.
2013-05-18 16:31:16 -07:00
Ronnie Sahlberg
709410b1d7 TESTS: Add some REPORT SUPPORTED OPCODES tests
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
2013-05-18 13:56:02 -07:00
Ronnie Sahlberg
e28a94ce77 TESTS: Add tests for WriteSame10/16 UNMAP.
If UNMAP is available, verify that both LBPME and LBPWS[10] are set.
If unmap is not available, verify that LBPWS[10] is clear.
2013-05-14 22:55:05 -07:00