Patch "scsi: zfcp: trace high part of "new" 64 bit SCSI LUN" has been added to the 3.18-stable tree
Subsystems (3)
This is a note to let you know that I've just added the patch titled
scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
to the 3.18-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
scsi-zfcp-trace-high-part-of-new-64-bit-scsi-lun.patch
and it can be found in the queue-3.18 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
5d4a3d0a2ff23799b956e5962b886287614e7fadMon Sep 17 00:00:00 2001
From: Steffen Maier <[email protected]>
Date: Fri, 28 Jul 2017 12:30:58 +0200
Subject: scsi: zfcp: trace high part of "new" 64 bit SCSI LUN
From: Steffen Maier <[email protected]>
commit 5d4a3d0a2ff23799b956e5962b886287614e7fad upstream.
Complements debugging aspects of the otherwise functionally complete v3.17 commit 9cb78c16f5da ("scsi: use 64-bit LUNs").
While I don't have access to a target exporting 3 or 4 level LUNs, I did test it by explicitly attaching a non-existent fake 4 level LUN by means of zfcp sysfs attribute "unit_add".
In order to see corresponding trace records of otherwise successful events, we had to increase the trace level of area SCSI and HBA to 6.
$ echo 6 > /sys/kernel/debug/s390dbf/zfcp_0.0.1880_scsi/level $ echo 6 > /sys/kernel/debug/s390dbf/zfcp_0.0.1880_hba/level
$ echo 0x4011402240334044 > \ /sys/bus/ccw/drivers/zfcp/0.0.1880/0x50050763031bd327/unit_add
Example output formatted by an updated zfcpdbf from the s390-tools package interspersed with kernel messages at scsi_logging_level=4605:
Timestamp : ...
Area : REC
Subarea : 00
Level : 1
Exception : -
CPU ID : ..
Caller : 0x...
Record ID : 1
Tag : scsla_1
LUN : 0x4011402240334044
WWPN : 0x50050763031bd327D_ID : 0x00......
Adapter status : 0x5400050b
Port status : 0x54000001
LUN status : 0x41000000
Ready count : 0x00000001
Running count : 0x00000000
ERP want : 0x01
ERP need : 0x01
scsi 2:0:0:4630896905707208721: scsi scan: INQUIRY pass 1 length 36 scsi 2:0:0:4630896905707208721: scsi scan: INQUIRY successful with code 0x0
Timestamp : ...
Area : HBA
Subarea : 00
Level : 6
Exception : -
CPU ID : ..
Caller : 0x...
Record ID : 1
Tag : fs_norm
Request ID : 0x<inquiry2-req-id>
Request status : 0x00000010
FSF cmnd : 0x00000001
FSF sequence no: 0x...
FSF issued : ...
FSF stat : 0x00000000
FSF stat qual : 00000000 00000000 00000000 00000000
Prot stat : 0x00000001
Prot stat qual : ........ ........ 00000000 00000000
Port handle : 0x...
LUN handle : 0x...
|
Timestamp : ...
Area : SCSI
Subarea : 00
Level : 6
Exception : -
CPU ID : ..
Caller : 0x...
Record ID : 1
Tag : rsl_nor
Request ID : 0x<inquiry2-req-id>
SCSI ID : 0x00000000
SCSI LUN : 0x40224011
SCSI LUN high : 0x40444033 <=======================
SCSI result : 0x00000000
SCSI retries : 0x00
SCSI allowed : 0x03
SCSI scribble : 0x<inquiry2-req-id>
SCSI opcode : 12000000 a4000000 00000000 00000000
FCP rsp inf cod: 0x00
FCP rsp IU : 00000000 00000000 00000000 00000000
00000000 00000000
scsi 2:0:0:4630896905707208721: scsi scan: INQUIRY pass 2 length 164 scsi 2:0:0:4630896905707208721: scsi scan: INQUIRY successful with code 0x0 scsi 2:0:0:4630896905707208721: scsi scan: peripheral device type of 31, \
no device added
--- drivers/s390/scsi/zfcp_dbf.c | 2 +- drivers/s390/scsi/zfcp_dbf.h | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-)
drivers/s390/scsi/zfcp_dbf.c +1 -1
@@ -418,8 +418,8 @@ void zfcp_dbf_scsi(char *tag, struct scs rec->scsi_retries = sc->retries; rec->scsi_allowed = sc->allowed; rec->scsi_id = sc->device->id; -/* struct zfcp_dbf_scsi needs to be updated to handle 64bit LUNs */ rec->scsi_lun = (u32 )sc->device->lun; + rec->scsi_lun_64_hi = (u32)(sc->device->lun >>32 ); rec->host_scribble = (unsigned long )sc->host_scribble; memcpy(rec->scsi_opcode, sc->cmnd,
drivers/s390/scsi/zfcp_dbf.h +3 -1
@@ -196,7 +196,7 @@ enum zfcp_dbf_scsi_id {* @id: unique number of recovery record type * @tag: identifier string specifying the location of initiation * @scsi_id: scsi device id -* @scsi_lun: scsi device logical unit number +* @scsi_lun: scsi device logical unit number, low part of 64 bit, old 32 bit * @scsi_result: scsi result * @scsi_retries: current retry number of scsi request * @scsi_allowed: allowed retries
@@ -206,6 +206,7 @@ enum zfcp_dbf_scsi_id {* @host_scribble: LLD specific data attached to SCSI request * @pl_len: length of paload stored as zfcp_dbf_pay * @fsf_rsp: response for fsf request +* @scsi_lun_64_hi: scsi device logical unit number, high part of 64 bit */ struct zfcp_dbf_scsi {u8 id;
@@ -222,6 +223,7 @@ struct zfcp_dbf_scsi {u64 host_scribble;u16 pl_len;struct fcp_resp_with_ext fcp_rsp; +u32 scsi_lun_64_hi; } __packed;/**
Patches currently in stable-queue which might be from [email protected] are
queue-3.18/scsi-zfcp-add-handling-for-fcp_resid_over-to-the-fcp-ingress-path.patch queue-3.18/scsi-zfcp-trace-high-part-of-new-64-bit-scsi-lun.patch queue-3.18/scsi-zfcp-fix-queuecommand-for-scsi_eh-commands-when-dix-enabled.patch queue-3.18/scsi-zfcp-fix-payload-with-full-fcp_rsp-iu-in-scsi-trace-records.patch queue-3.18/scsi-zfcp-trace-hba-fsf-response-by-default-on-dismiss-or-timedout-late-response.patch queue-3.18/scsi-zfcp-fix-missing-trace-records-for-early-returns-in-tmf-eh-handlers.patch