#include <linux/sched/signal.h>
#include <scsi/iscsi_proto.h>
#include <target/target_core_base.h>
#include <target/target_core_fabric.h>
#include <target/iscsi/iscsi_target_core.h>
#include "iscsi_target_seq_pdu_list.h"
#include "iscsi_target_erl0.h"
#include "iscsi_target_erl1.h"
#include "iscsi_target_erl2.h"
#include "iscsi_target_util.h"
#include "iscsi_target.h"
void iscsit_set_dataout_sequence_values(
struct iscsit_cmd *cmd)
{ … }
static int iscsit_dataout_within_command_recovery_check(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
static int iscsit_dataout_check_unsolicited_sequence(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
static int iscsit_dataout_check_sequence(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
static int iscsit_dataout_check_datasn(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
static int iscsit_dataout_pre_datapduinorder_yes(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
static int iscsit_dataout_pre_datapduinorder_no(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
static int iscsit_dataout_update_r2t(struct iscsit_cmd *cmd, u32 offset, u32 length)
{ … }
static int iscsit_dataout_update_datapduinorder_no(
struct iscsit_cmd *cmd,
u32 data_sn,
int f_bit)
{ … }
static int iscsit_dataout_post_crc_passed(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
static int iscsit_dataout_post_crc_failed(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
int iscsit_check_pre_dataout(
struct iscsit_cmd *cmd,
unsigned char *buf)
{ … }
int iscsit_check_post_dataout(
struct iscsit_cmd *cmd,
unsigned char *buf,
u8 data_crc_failed)
{ … }
void iscsit_handle_time2retain_timeout(struct timer_list *t)
{ … }
void iscsit_start_time2retain_handler(struct iscsit_session *sess)
{ … }
int iscsit_stop_time2retain_timer(struct iscsit_session *sess)
{ … }
void iscsit_connection_reinstatement_rcfr(struct iscsit_conn *conn)
{ … }
void iscsit_cause_connection_reinstatement(struct iscsit_conn *conn, int sleep)
{ … }
EXPORT_SYMBOL(…);
void iscsit_fall_back_to_erl0(struct iscsit_session *sess)
{ … }
static void iscsit_handle_connection_cleanup(struct iscsit_conn *conn)
{ … }
void iscsit_take_action_for_connection_exit(struct iscsit_conn *conn, bool *conn_freed)
{ … }