From 1c3547d205665e7e7f32bf49a913542ca419db94 Mon Sep 17 00:00:00 2001 From: Chinmaya Kajagar Date: Mon, 11 Aug 2025 18:40:42 +0200 Subject: [PATCH] zfcpdbf: Trace all fsf status read buffer fields under HBA MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch is to enhance fsf status read buffer tracing. Add remaining status read buffer (SRB) fields including S_ID and reserved fields under HBA trace area. Relevant kernel dbf structure changes are done in a seperate patch. zfcpdbf output for HBA area with relevant kernel code changes: Timestamp : 2025-08-22-05:52:04:171750 Area : HBA Subarea : 00 Level : 2 Exception : - CPU ID : 0003 Caller : 0x0000021e278c07c8 Record ID : 2 Tag : fssrh_4 Description : fssrh_4 HBA, FSF unsolicited status Request ID : 0x0000000000004bfc Request status : 0x00000000 FSF cmnd : 0x00006305 FSF sequence no: 0x00000000 SRB stat type : 0x00000002 SRB stat sub : 0x00000000 SRB D_ID : 0x00fffffd SRB LUN : 0x0000000000000000 SRB q-design. : 0x0000000000000000 SRB length : 0x0000004c SRB res1 : 0x00000000 SRB res2 : 0x00 SRB class : 0x00000000 SRB res3 : 0x00 SRB S_ID : 0x0033c048 SRB res4 : 00000000 00000000 00000000 00000000 00000000 SRB pay length : 12 Payload time : 2025-08-22-05:52:04:171743 SRB info : 6104000c 0033c024 0033c02e Signed-off-by: Chinmaya Kajagar Signed-off-by: Jan Höppner --- scripts/zfcpdbf | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/scripts/zfcpdbf b/scripts/zfcpdbf index ca0bda16..e0b44c83 100755 --- a/scripts/zfcpdbf +++ b/scripts/zfcpdbf @@ -641,8 +641,15 @@ sub _print_hba_id2 print "SRB D_ID : 0x", substr($rec, 16, 8), "\n"; print "SRB LUN : 0x", substr($rec, 24, 16), "\n"; print "SRB q-design. : 0x", substr($rec, 40, 16), "\n"; + print "SRB length : 0x", substr($rec, 56, 8), "\n"; + print "SRB res1 : 0x", substr($rec, 64, 8), "\n"; + print "SRB res2 : 0x", substr($rec, 72, 2), "\n"; + print "SRB class : 0x", substr($rec, 74, 8), "\n"; + print "SRB res3 : 0x", substr($rec, 82, 2), "\n"; + print "SRB S_ID : 0x", substr($rec, 84, 8), "\n"; + print "SRB res4 : ", payload_format(substr($rec, 92, 40)); - print "SRB length : ", $payload_length, "\n" if ($payload_length); + print "SRB pay length : ", $payload_length, "\n" if ($payload_length); print_payload($payload_length, $pay_rec, "SRB info") if ($payload_length); }