The send logic was completely broken for any cases except ISCSI_INITIAL_R2T_NO and ISCSI_IMMEDIATE_DATA_YES. The final flag was set wrong or no data was sent. It was also broken if the data did not fit into the cmd_pdu as the consecutive pdus did not have the scsi_cbdata set which lead to a segfault in iscsi_get_user_out_buffer(). Unfortunately we need to include scsi-lowlevel.h again in iscsi-private.h. This should be fixed asap by introduction of an iscsi_task struct to avoid to store iscsi relevant data in the scsi_task. Signed-off-by: Peter Lieven <pl@kamp.de> Conflicts: lib/iscsi-command.c Signed-off-by: Peter Lieven <pl@kamp.de>
40 KiB
40 KiB