zfcpdbf: Trace all fsf status read buffer fields under HBA

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 <chinmayk@linux.ibm.com>
Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
Chinmaya Kajagar
2025-08-11 18:40:42 +02:00
committed by Jan Höppner
parent b6bb87f377
commit 1c3547d205

View File

@@ -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);
}