diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_dbf.h')
-rw-r--r-- | drivers/s390/scsi/zfcp_dbf.h | 74 |
1 files changed, 35 insertions, 39 deletions
diff --git a/drivers/s390/scsi/zfcp_dbf.h b/drivers/s390/scsi/zfcp_dbf.h index 5d88c01d598..732a5ba1bea 100644 --- a/drivers/s390/scsi/zfcp_dbf.h +++ b/drivers/s390/scsi/zfcp_dbf.h @@ -104,9 +104,9 @@ struct zfcp_hba_dbf_record_response { u64 erp_action; union { struct { - u64 scsi_cmnd; - u64 scsi_serial; - } send_fcp; + u64 cmnd; + u64 serial; + } fcp; struct { u64 wwpn; u32 d_id; @@ -121,8 +121,8 @@ struct zfcp_hba_dbf_record_response { struct { u32 d_id; u8 ls_code; - } send_els; - } data; + } els; + } u; } __attribute__ ((packed)); struct zfcp_hba_dbf_record_status { @@ -154,35 +154,34 @@ struct zfcp_hba_dbf_record { struct zfcp_hba_dbf_record_response response; struct zfcp_hba_dbf_record_status status; struct zfcp_hba_dbf_record_qdio qdio; - } type; + } u; } __attribute__ ((packed)); -struct zfcp_san_dbf_record_ct { - union { - struct { - u16 cmd_req_code; - u8 revision; - u8 gs_type; - u8 gs_subtype; - u8 options; - u16 max_res_size; - } request; - struct { - u16 cmd_rsp_code; - u8 revision; - u8 reason_code; - u8 reason_code_expl; - u8 vendor_unique; - } response; - } type; - u32 payload_size; +struct zfcp_san_dbf_record_ct_request { + u16 cmd_req_code; + u8 revision; + u8 gs_type; + u8 gs_subtype; + u8 options; + u16 max_res_size; + u32 len; #define ZFCP_DBF_CT_PAYLOAD 24 u8 payload[ZFCP_DBF_CT_PAYLOAD]; } __attribute__ ((packed)); +struct zfcp_san_dbf_record_ct_response { + u16 cmd_rsp_code; + u8 revision; + u8 reason_code; + u8 expl; + u8 vendor_unique; + u32 len; + u8 payload[ZFCP_DBF_CT_PAYLOAD]; +} __attribute__ ((packed)); + struct zfcp_san_dbf_record_els { u8 ls_code; - u32 payload_size; + u32 len; #define ZFCP_DBF_ELS_PAYLOAD 32 #define ZFCP_DBF_ELS_MAX_PAYLOAD 1024 u8 payload[ZFCP_DBF_ELS_PAYLOAD]; @@ -195,9 +194,10 @@ struct zfcp_san_dbf_record { u32 s_id; u32 d_id; union { - struct zfcp_san_dbf_record_ct ct; + struct zfcp_san_dbf_record_ct_request ct_req; + struct zfcp_san_dbf_record_ct_response ct_resp; struct zfcp_san_dbf_record_els els; - } type; + } u; } __attribute__ ((packed)); struct zfcp_scsi_dbf_record { @@ -215,19 +215,15 @@ struct zfcp_scsi_dbf_record { u64 fsf_reqid; u32 fsf_seqno; u64 fsf_issued; - union { - u64 old_fsf_reqid; - struct { - u8 rsp_validity; - u8 rsp_scsi_status; - u32 rsp_resid; - u8 rsp_code; + u64 old_fsf_reqid; + u8 rsp_validity; + u8 rsp_scsi_status; + u32 rsp_resid; + u8 rsp_code; #define ZFCP_DBF_SCSI_FCP_SNS_INFO 16 #define ZFCP_DBF_SCSI_MAX_FCP_SNS_INFO 256 - u32 sns_info_len; - u8 sns_info[ZFCP_DBF_SCSI_FCP_SNS_INFO]; - } fcp; - } type; + u32 sns_info_len; + u8 sns_info[ZFCP_DBF_SCSI_FCP_SNS_INFO]; } __attribute__ ((packed)); #endif /* ZFCP_DBF_H */ |