drivers/s390/scsi/zfcp_dbf.h
Source file repositories/reference/linux-study-clean/drivers/s390/scsi/zfcp_dbf.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/s390/scsi/zfcp_dbf.h- Extension
.h- Size
- 13228 bytes
- Lines
- 476
- Domain
- Driver Families
- Bucket
- drivers/s390
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
scsi/fc/fc_fcp.hzfcp_ext.hzfcp_fsf.hzfcp_def.h
Detected Declarations
struct zfcp_dbf_rec_triggerstruct zfcp_dbf_rec_runningstruct zfcp_dbf_recstruct zfcp_dbf_sanstruct zfcp_dbf_hba_resstruct zfcp_dbf_hba_ussstruct zfcp_dbf_hba_fcesstruct zfcp_dbf_hbastruct zfcp_dbf_scsistruct zfcp_dbf_paystruct zfcp_dbfenum zfcp_dbf_pseudo_erp_act_typeenum zfcp_dbf_rec_idenum zfcp_dbf_san_idenum zfcp_dbf_hba_idenum zfcp_dbf_scsi_idfunction zfcp_dbf_hba_fsf_resp_suppressfunction zfcp_dbf_hba_fsf_respfunction zfcp_dbf_hba_fsf_responsefunction _zfcp_dbf_scsifunction zfcp_dbf_scsi_resultfunction zfcp_dbf_scsi_fail_sendfunction zfcp_dbf_scsi_abortfunction zfcp_dbf_scsi_devresetfunction zfcp_dbf_scsi_nullcmnd
Annotated Snippet
struct zfcp_dbf_rec_trigger {
u32 ready;
u32 running;
u8 want;
u8 need;
} __packed;
/**
* struct zfcp_dbf_rec_running - trace record for running recovery
* @fsf_req_id: request id for fsf requests
* @rec_status: status of the fsf request
* @rec_step: current step of the recovery action
* @rec_action: ERP action type
* @rec_count: recoveries including retries for particular @rec_action
*/
struct zfcp_dbf_rec_running {
u64 fsf_req_id;
u32 rec_status;
u16 rec_step;
u8 rec_action;
u8 rec_count;
} __packed;
/**
* enum zfcp_dbf_rec_id - recovery trace record id
* @ZFCP_DBF_REC_TRIG: triggered recovery identifier
* @ZFCP_DBF_REC_RUN: running recovery identifier
*/
enum zfcp_dbf_rec_id {
ZFCP_DBF_REC_TRIG = 1,
ZFCP_DBF_REC_RUN = 2,
};
/**
* struct zfcp_dbf_rec - trace record for error recovery actions
* @id: unique number of recovery record type
* @tag: identifier string specifying the location of initiation
* @lun: logical unit number
* @wwpn: word wide port number
* @d_id: destination ID
* @adapter_status: current status of the adapter
* @port_status: current status of the port
* @lun_status: current status of the lun
* @u: record type specific data
* @u.trig: structure zfcp_dbf_rec_trigger
* @u.run: structure zfcp_dbf_rec_running
*/
struct zfcp_dbf_rec {
u8 id;
char tag[ZFCP_DBF_TAG_LEN];
u64 lun;
u64 wwpn;
u32 d_id;
u32 adapter_status;
u32 port_status;
u32 lun_status;
union {
struct zfcp_dbf_rec_trigger trig;
struct zfcp_dbf_rec_running run;
} u;
} __packed;
/**
* enum zfcp_dbf_san_id - SAN trace record identifier
* @ZFCP_DBF_SAN_REQ: request trace record id
* @ZFCP_DBF_SAN_RES: response trace record id
* @ZFCP_DBF_SAN_ELS: extended link service record id
*/
enum zfcp_dbf_san_id {
ZFCP_DBF_SAN_REQ = 1,
ZFCP_DBF_SAN_RES = 2,
ZFCP_DBF_SAN_ELS = 3,
};
/** struct zfcp_dbf_san - trace record for SAN requests and responses
* @id: unique number of recovery record type
* @tag: identifier string specifying the location of initiation
* @fsf_req_id: request id for fsf requests
* @payload: unformatted information related to request/response
* @d_id: destination id
*/
struct zfcp_dbf_san {
u8 id;
char tag[ZFCP_DBF_TAG_LEN];
u64 fsf_req_id;
u32 d_id;
#define ZFCP_DBF_SAN_MAX_PAYLOAD (FC_CT_HDR_LEN + 32)
char payload[ZFCP_DBF_SAN_MAX_PAYLOAD];
u16 pl_len;
} __packed;
Annotation
- Immediate include surface: `scsi/fc/fc_fcp.h`, `zfcp_ext.h`, `zfcp_fsf.h`, `zfcp_def.h`.
- Detected declarations: `struct zfcp_dbf_rec_trigger`, `struct zfcp_dbf_rec_running`, `struct zfcp_dbf_rec`, `struct zfcp_dbf_san`, `struct zfcp_dbf_hba_res`, `struct zfcp_dbf_hba_uss`, `struct zfcp_dbf_hba_fces`, `struct zfcp_dbf_hba`, `struct zfcp_dbf_scsi`, `struct zfcp_dbf_pay`.
- Atlas domain: Driver Families / drivers/s390.
- Implementation status: source implementation candidate.
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.