linux/drivers/target/iscsi/iscsi_target_erl0.c

// SPDX-License-Identifier: GPL-2.0-or-later
/******************************************************************************
 * This file contains error recovery level zero functions used by
 * the iSCSI Target driver.
 *
 * (c) Copyright 2007-2013 Datera, Inc.
 *
 * Author: Nicholas A. Bellinger <[email protected]>
 *
 ******************************************************************************/

#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"

/*
 *	Used to set values in struct iscsit_cmd that iscsit_dataout_check_sequence()
 *	checks against to determine a PDU's Offset+Length is within the current
 *	DataOUT Sequence.  Used for DataSequenceInOrder=Yes only.
 */
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)
{}

/*
 *	Called from iscsit_handle_data_out() before DataOUT Payload is received
 *	and CRC computed.
 */
int iscsit_check_pre_dataout(
	struct iscsit_cmd *cmd,
	unsigned char *buf)
{}

/*
 *	Called from iscsit_handle_data_out() after DataOUT Payload is received
 *	and CRC computed.
 */
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)
{}