Merge pull request #300 from ddiss/libiscsipriv

test-tool: add and link against libiscsipriv convenience library
This commit is contained in:
Ronnie Sahlberg
2019-09-18 10:07:02 +10:00
committed by GitHub
5 changed files with 40 additions and 26 deletions
+23 -15
View File
@@ -1,19 +1,38 @@
lib_LTLIBRARIES = libiscsi.la # test-tool needs to access private symbols, so build a noinst convenience
# library.
noinst_LTLIBRARIES = libiscsipriv.la
libiscsi_la_SOURCES = \ libiscsipriv_la_SOURCES = \
connect.c crc32c.c discovery.c init.c \ connect.c crc32c.c discovery.c init.c \
login.c nop.c pdu.c iscsi-command.c \ login.c nop.c pdu.c iscsi-command.c \
scsi-lowlevel.c socket.c sync.c task_mgmt.c \ scsi-lowlevel.c socket.c sync.c task_mgmt.c \
logging.c logging.c
if !HAVE_LIBGCRYPT if !HAVE_LIBGCRYPT
libiscsi_la_SOURCES += md5.c libiscsipriv_la_SOURCES += md5.c
endif endif
if HAVE_LINUX_ISER if HAVE_LINUX_ISER
libiscsi_la_SOURCES += iser.c libiscsipriv_la_SOURCES += iser.c
endif endif
if HAVE_LINUX_ISER
libiscsipriv_la_LDFLAGS = -libverbs -lrdmacm
endif
libiscsipriv_la_CPPFLAGS = -I${srcdir}/../include -I$(srcdir)/include \
"-D_U_=__attribute__((unused))" \
"-D_R_(A,B)=__attribute__((format(printf,A,B)))"
AM_CFLAGS=$(WARN_CFLAGS)
# The proper library just pulls in the convenience library and explicitly
# specifies exported symbols.
lib_LTLIBRARIES = libiscsi.la
libiscsi_la_SOURCES =
libiscsi_la_LIBADD = libiscsipriv.la
SOCURRENT=9 SOCURRENT=9
SOREVISON=0 SOREVISON=0
SOAGE=0 SOAGE=0
@@ -21,15 +40,4 @@ libiscsi_la_LDFLAGS = \
-version-info $(SOCURRENT):$(SOREVISON):$(SOAGE) -bindir $(bindir) \ -version-info $(SOCURRENT):$(SOREVISON):$(SOAGE) -bindir $(bindir) \
-no-undefined -export-symbols ${srcdir}/libiscsi.syms -no-undefined -export-symbols ${srcdir}/libiscsi.syms
if HAVE_LINUX_ISER
libiscsi_la_LDFLAGS += -libverbs -lrdmacm
endif
libiscsi_la_CPPFLAGS = -I${srcdir}/../include -I$(srcdir)/include \
"-D_U_=__attribute__((unused))" \
"-D_R_(A,B)=__attribute__((format(printf,A,B)))"
AM_CFLAGS=$(WARN_CFLAGS)
dist_noinst_DATA = libiscsi.syms libiscsi.def dist_noinst_DATA = libiscsi.syms libiscsi.def
+1 -1
View File
@@ -2,7 +2,7 @@ AM_CPPFLAGS=-I. -I${srcdir}/../include \
"-D_U_=__attribute__((unused)) " \ "-D_U_=__attribute__((unused)) " \
"-D_R_(A,B)=__attribute__((format(printf,A,B)))" "-D_R_(A,B)=__attribute__((format(printf,A,B)))"
AM_CFLAGS=$(WARN_CFLAGS) AM_CFLAGS=$(WARN_CFLAGS)
LDADD = ../lib/libiscsi.la LDADD = ../lib/libiscsipriv.la
EXTRA_DIST = README EXTRA_DIST = README
+4 -1
View File
@@ -31,7 +31,10 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu *pdu
{ {
switch (change_cmdsn) { switch (change_cmdsn) {
case 1: case 1:
/* change the cmdsn so it becomes too big */ /*
* change the cmdsn so it becomes too big. TODO: use
* iscsi_pdu_set_cmdsn(), which also changes pdu->cmdsn?
*/
scsi_set_uint32(&pdu->outdata.data[24], iscsi->maxcmdsn + 1); scsi_set_uint32(&pdu->outdata.data[24], iscsi->maxcmdsn + 1);
/* fudge the cmdsn value back to where it should be if this /* fudge the cmdsn value back to where it should be if this
* pdu is ignored. * pdu is ignored.
+4 -1
View File
@@ -31,7 +31,10 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu *pdu
{ {
switch (change_cmdsn) { switch (change_cmdsn) {
case 1: case 1:
/* change the cmdsn so it becomes too big */ /*
* change the cmdsn so it becomes too low. TODO: use
* iscsi_pdu_set_cmdsn(), which also changes pdu->cmdsn?
*/
scsi_set_uint32(&pdu->outdata.data[24], iscsi->expcmdsn - 1); scsi_set_uint32(&pdu->outdata.data[24], iscsi->expcmdsn - 1);
/* fudge the cmdsn value back to where it should be if this /* fudge the cmdsn value back to where it should be if this
* pdu is ignored. * pdu is ignored.
+4 -4
View File
@@ -37,20 +37,20 @@ static int my_iscsi_queue_pdu(struct iscsi_context *iscsi, struct iscsi_pdu *pdu
switch (change_datasn) { switch (change_datasn) {
case 1: case 1:
/* change DataSN to 0 */ /* change DataSN to 0 */
scsi_set_uint32(&pdu->outdata.data[36], 0); iscsi_pdu_set_datasn(pdu, 0);
break; break;
case 2: case 2:
/* change DataSN to 27 */ /* change DataSN to 27 */
scsi_set_uint32(&pdu->outdata.data[36], 27); iscsi_pdu_set_datasn(pdu, 27);
break; break;
case 3: case 3:
/* change DataSN to -1 */ /* change DataSN to -1 */
scsi_set_uint32(&pdu->outdata.data[36], -1); iscsi_pdu_set_datasn(pdu, -1);
break; break;
case 4: case 4:
/* change DataSN from (0,1) to (1,0) */ /* change DataSN from (0,1) to (1,0) */
datasn = scsi_get_uint32(&pdu->outdata.data[36]); datasn = scsi_get_uint32(&pdu->outdata.data[36]);
scsi_set_uint32(&pdu->outdata.data[36], 1 - datasn); iscsi_pdu_set_datasn(pdu, 1 - datasn);
break; break;
} }
out: out: