include/target/iscsi/iscsi_target_core.h
Source file repositories/reference/linux-study-clean/include/target/iscsi/iscsi_target_core.h
File Facts
- System
- Linux kernel
- Corpus path
include/target/iscsi/iscsi_target_core.h- Extension
.h- Size
- 26919 bytes
- Lines
- 917
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Uses kernel synchronization; read lock ordering, sleepability, and interrupt context assumptions before translating.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/dma-direction.hlinux/list.hlinux/sched.hlinux/socket.hlinux/types.hscsi/iscsi_proto.htarget/target_core_base.hiscsi_target_stat.h
Detected Declarations
struct sockstruct iscsi_conn_opsstruct iscsi_sess_opsstruct iscsi_queue_reqstruct iscsi_param_liststruct iscsi_datain_reqstruct iscsi_ooo_cmdsnstruct iscsi_datainstruct iscsi_r2tstruct iscsit_cmdstruct iscsi_tmr_reqstruct iscsit_connstruct iscsi_conn_recoverystruct iscsit_sessionstruct iscsi_loginstruct iscsi_node_attribstruct se_dev_entry_sstruct iscsi_node_authstruct iscsi_node_stat_grpsstruct iscsi_node_aclstruct iscsi_tpg_attribstruct iscsi_npstruct iscsi_tpg_npstruct iscsi_portal_groupstruct iscsi_wwn_stat_grpsstruct iscsi_tiqnstruct iscsit_globalenum iscsit_transport_typeenum target_conn_state_tableenum target_sess_state_tableenum data_count_typeenum datain_req_comp_tableenum datain_req_rec_tableenum tpg_state_tableenum tiqn_state_tableenum cmd_flags_tableenum cmd_i_state_tableenum recover_cmdsn_ret_tableenum immedate_data_ret_tableenum dataout_action_ret_tableenum naf_flags_tableenum iscsi_timer_flags_tableenum np_flags_tableenum np_thread_state_tablefunction to_iscsi_naclfunction to_iscsi_tpgfunction session_get_next_ttt
Annotated Snippet
struct iscsi_conn_ops {
u8 HeaderDigest; /* [0,1] == [None,CRC32C] */
u8 DataDigest; /* [0,1] == [None,CRC32C] */
u32 MaxRecvDataSegmentLength; /* [512..2**24-1] */
u32 MaxXmitDataSegmentLength; /* [512..2**24-1] */
/*
* iSER specific connection parameters
*/
u32 InitiatorRecvDataSegmentLength; /* [512..2**24-1] */
u32 TargetRecvDataSegmentLength; /* [512..2**24-1] */
};
struct iscsi_sess_ops {
char InitiatorName[ISCSI_IQN_LEN];
char InitiatorAlias[256];
char TargetName[ISCSI_IQN_LEN];
char TargetAlias[256];
char TargetAddress[256];
u16 TargetPortalGroupTag; /* [0..65535] */
u16 MaxConnections; /* [1..65535] */
u8 InitialR2T; /* [0,1] == [No,Yes] */
u8 ImmediateData; /* [0,1] == [No,Yes] */
u32 MaxBurstLength; /* [512..2**24-1] */
u32 FirstBurstLength; /* [512..2**24-1] */
u16 DefaultTime2Wait; /* [0..3600] */
u16 DefaultTime2Retain; /* [0..3600] */
u16 MaxOutstandingR2T; /* [1..65535] */
u8 DataPDUInOrder; /* [0,1] == [No,Yes] */
u8 DataSequenceInOrder; /* [0,1] == [No,Yes] */
u8 ErrorRecoveryLevel; /* [0..2] */
u8 SessionType; /* [0,1] == [Normal,Discovery]*/
/*
* iSER specific session parameters
*/
u8 RDMAExtensions; /* [0,1] == [No,Yes] */
};
struct iscsi_queue_req {
int state;
struct iscsit_cmd *cmd;
struct list_head qr_list;
};
struct iscsi_param_list {
bool iser;
struct list_head param_list;
struct list_head extra_response_list;
};
struct iscsi_datain_req {
enum datain_req_comp_table dr_complete;
int generate_recovery_values;
enum datain_req_rec_table recovery;
u32 begrun;
u32 runlength;
u32 data_length;
u32 data_offset;
u32 data_sn;
u32 next_burst_len;
u32 read_data_done;
u32 seq_send_order;
struct list_head cmd_datain_node;
} ____cacheline_aligned;
struct iscsi_ooo_cmdsn {
u16 cid;
u32 batch_count;
u32 cmdsn;
u32 exp_cmdsn;
struct iscsit_cmd *cmd;
struct list_head ooo_list;
} ____cacheline_aligned;
struct iscsi_datain {
u8 flags;
u32 data_sn;
u32 length;
u32 offset;
} ____cacheline_aligned;
struct iscsi_r2t {
int seq_complete;
int recovery_r2t;
int sent_r2t;
u32 r2t_sn;
u32 offset;
u32 targ_xfer_tag;
u32 xfer_len;
struct list_head r2t_list;
} ____cacheline_aligned;
Annotation
- Immediate include surface: `linux/dma-direction.h`, `linux/list.h`, `linux/sched.h`, `linux/socket.h`, `linux/types.h`, `scsi/iscsi_proto.h`, `target/target_core_base.h`, `iscsi_target_stat.h`.
- Detected declarations: `struct sock`, `struct iscsi_conn_ops`, `struct iscsi_sess_ops`, `struct iscsi_queue_req`, `struct iscsi_param_list`, `struct iscsi_datain_req`, `struct iscsi_ooo_cmdsn`, `struct iscsi_datain`, `struct iscsi_r2t`, `struct iscsit_cmd`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
- Synchronization appears in or near this file; preserve lock ordering, sleepability, and interrupt-context constraints.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.