STRUCT FC_FCP_PKT(9)
๐ NAME ๐
okay bestie, welcome to the struct fc_fcp_pkt(9) page from the Kernel API Manual! โจ
struct fc_fcp_pkt โ FCP request structure (one for each scsi_cmnd request) ๐ซถ
โจ SYNOPSIS โจ
this is the whole struct, copied exactly, no cap:
struct fc_fcp_pkt {
spinlock_t scsi_pkt_lock;
refcount_t ref_cnt;
u32 data_len;
struct scsi_cmnd *cmd;
struct list_head list;
struct fc_lport *lp;
u8 state;
u8 cdb_status;
u8 status_code;
u8 scsi_comp_flags;
u32 io_status;
u32 req_flags;
u32 scsi_resid;
size_t xfer_len;
struct fcp_cmnd cdb_cmd;
u32 xfer_contig_end;
u16 max_payload;
u16 xfer_ddp;
struct fc_rport *rport;
struct fc_seq *seq_ptr;
struct timer_list timer;
int wait_for_comp;
int timer_delay;
u32 recov_retry;
struct fc_seq *recov_seq;
struct completion tm_done;
};
๐ง Members ๐ง
scsi_pkt_lockโ lock to protect the SCSI packet (must be taken before thehost_lockif both are to be held at the same time) ๐ref_cntโ reference count ๐ขdata_lenโ the length of the data ๐cmdโ the SCSI command (set and clear with thehost_lockheld) ๐ซถlistโ tracks queued commands (accessed with thehost_lockheld) ๐lpโ the associated local port ๐stateโ the state of the I/O โจcdb_statusโ CDB status ๐status_codeโ FCP I/O status ๐scsi_comp_flagsโ completion flags (bit 3 Underrun bit 2: overrun) ๐ฆio_statusโ SCSI result (upper 24 bits) ๐req_flagsโ request flags (bit 0: read bit:1 write) ๐scsi_residโ SCSI residule length ๐งฎxfer_lenโ the transfer length ๐ฆcdb_cmdโ the CDB command ๐ฏxfer_contig_endโ the offset into the buffer if the buffer is contiguous (Tx and Rx) ๐งญmax_payloadโ the maximum payload size (in bytes) ๐งบxfer_ddpโ indicates if this transfer used DDP (XID of the exchange will be set here if DDP was setup) ๐ฆrportโ the remote port that the SCSI command is targeted at ๐ฏseq_ptrโ the sequence that will carry the SCSI command ๐timerโ the command timer โฐwait_for_compโ indicator to wait for completion of the I/O (in jiffies) โณtimer_delayโ FCP packet timer delay in jiffies ๐ฐ๏ธrecov_retryโ number of recovery retries ๐recov_seqโ the sequence for REC or SRR ๐งตtm_doneโ completion indicator โ
๐ฆ SEE ALSO ๐ฆ
Kernel file ./include/scsi/libfc.h โ plus these besties, all kept exactly: enum fc_lport_state(9), enum fc_rport_state(9), struct fc_disc_port(9), enum fc_rport_event(9), struct fc_rport_operations(9), struct fc_rport_libfc_priv(9), struct fc_rport_priv(9), struct fc_stats(9), struct fc_seq_els_data(9), struct fc_seq(9), struct fc_exch(9), struct fc_disc(9), struct fc_lport(9), struct fc4_prov(9), fc_lport_test_ready(9), fc_set_wwnn(9), fc_set_wwpn(9), fc_lport_state_enter(9), fc_lport_init_stats(9), fc_lport_free_stats(9), lport_priv(9), libfc_host_alloc(9). โจ
little sign-off bestie: source/version is ./include/scsi, date is October 2026, and the page is struct fc_fcp_pkt(9) ๐ซถ๐โจ
๐ฆ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms