mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-30 07:34:12 +08:00
[SCSI] zfcp: handle unsolicited status notification lost
Handle unsolicited adapter status that informs about loss of previous unsolicited status notification(s). Signed-off-by: Maxim Shchetynin <maxim@de.ibm.com> Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
This commit is contained in:
parent
6b7281d0a0
commit
9eb69aff79
@ -964,6 +964,40 @@ zfcp_fsf_status_read_handler(struct zfcp_fsf_req *fsf_req)
|
|||||||
| ZFCP_STATUS_COMMON_ERP_FAILED);
|
| ZFCP_STATUS_COMMON_ERP_FAILED);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case FSF_STATUS_READ_NOTIFICATION_LOST:
|
||||||
|
ZFCP_LOG_NORMAL("Unsolicited status notification(s) lost: "
|
||||||
|
"adapter %s%s%s%s%s%s%s%s%s\n",
|
||||||
|
zfcp_get_busid_by_adapter(adapter),
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_INCOMING_ELS) ?
|
||||||
|
", incoming ELS" : "",
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_SENSE_DATA) ?
|
||||||
|
", sense data" : "",
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_LINK_STATUS) ?
|
||||||
|
", link status change" : "",
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_PORT_CLOSED) ?
|
||||||
|
", port close" : "",
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_BIT_ERROR_THRESHOLD) ?
|
||||||
|
", bit error exception" : "",
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_ACT_UPDATED) ?
|
||||||
|
", ACT update" : "",
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_ACT_HARDENED) ?
|
||||||
|
", ACT hardening" : "",
|
||||||
|
(status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_FEATURE_UPDATE_ALERT) ?
|
||||||
|
", adapter feature change" : "");
|
||||||
|
|
||||||
|
if (status_buffer->status_subtype &
|
||||||
|
FSF_STATUS_READ_SUB_ACT_UPDATED)
|
||||||
|
zfcp_erp_adapter_access_changed(adapter);
|
||||||
|
break;
|
||||||
|
|
||||||
case FSF_STATUS_READ_CFDC_UPDATED:
|
case FSF_STATUS_READ_CFDC_UPDATED:
|
||||||
ZFCP_LOG_NORMAL("CFDC has been updated on the adapter %s\n",
|
ZFCP_LOG_NORMAL("CFDC has been updated on the adapter %s\n",
|
||||||
zfcp_get_busid_by_adapter(adapter));
|
zfcp_get_busid_by_adapter(adapter));
|
||||||
@ -1954,6 +1988,7 @@ zfcp_fsf_exchange_config_data(struct zfcp_erp_action *erp_action)
|
|||||||
erp_action->fsf_req->qtcb->bottom.config.feature_selection =
|
erp_action->fsf_req->qtcb->bottom.config.feature_selection =
|
||||||
FSF_FEATURE_CFDC |
|
FSF_FEATURE_CFDC |
|
||||||
FSF_FEATURE_LUN_SHARING |
|
FSF_FEATURE_LUN_SHARING |
|
||||||
|
FSF_FEATURE_NOTIFICATION_LOST |
|
||||||
FSF_FEATURE_UPDATE_ALERT;
|
FSF_FEATURE_UPDATE_ALERT;
|
||||||
|
|
||||||
/* start QDIO request for this FSF request */
|
/* start QDIO request for this FSF request */
|
||||||
|
@ -166,6 +166,7 @@
|
|||||||
#define FSF_STATUS_READ_BIT_ERROR_THRESHOLD 0x00000004
|
#define FSF_STATUS_READ_BIT_ERROR_THRESHOLD 0x00000004
|
||||||
#define FSF_STATUS_READ_LINK_DOWN 0x00000005
|
#define FSF_STATUS_READ_LINK_DOWN 0x00000005
|
||||||
#define FSF_STATUS_READ_LINK_UP 0x00000006
|
#define FSF_STATUS_READ_LINK_UP 0x00000006
|
||||||
|
#define FSF_STATUS_READ_NOTIFICATION_LOST 0x00000009
|
||||||
#define FSF_STATUS_READ_CFDC_UPDATED 0x0000000A
|
#define FSF_STATUS_READ_CFDC_UPDATED 0x0000000A
|
||||||
#define FSF_STATUS_READ_CFDC_HARDENED 0x0000000B
|
#define FSF_STATUS_READ_CFDC_HARDENED 0x0000000B
|
||||||
#define FSF_STATUS_READ_FEATURE_UPDATE_ALERT 0x0000000C
|
#define FSF_STATUS_READ_FEATURE_UPDATE_ALERT 0x0000000C
|
||||||
@ -179,6 +180,16 @@
|
|||||||
#define FSF_STATUS_READ_SUB_FDISC_FAILED 0x00000001
|
#define FSF_STATUS_READ_SUB_FDISC_FAILED 0x00000001
|
||||||
#define FSF_STATUS_READ_SUB_FIRMWARE_UPDATE 0x00000002
|
#define FSF_STATUS_READ_SUB_FIRMWARE_UPDATE 0x00000002
|
||||||
|
|
||||||
|
/* status subtypes for unsolicited status notification lost */
|
||||||
|
#define FSF_STATUS_READ_SUB_INCOMING_ELS 0x00000001
|
||||||
|
#define FSF_STATUS_READ_SUB_SENSE_DATA 0x00000002
|
||||||
|
#define FSF_STATUS_READ_SUB_LINK_STATUS 0x00000004
|
||||||
|
#define FSF_STATUS_READ_SUB_PORT_CLOSED 0x00000008
|
||||||
|
#define FSF_STATUS_READ_SUB_BIT_ERROR_THRESHOLD 0x00000010
|
||||||
|
#define FSF_STATUS_READ_SUB_ACT_UPDATED 0x00000020
|
||||||
|
#define FSF_STATUS_READ_SUB_ACT_HARDENED 0x00000040
|
||||||
|
#define FSF_STATUS_READ_SUB_FEATURE_UPDATE_ALERT 0x00000080
|
||||||
|
|
||||||
/* status subtypes for CFDC */
|
/* status subtypes for CFDC */
|
||||||
#define FSF_STATUS_READ_SUB_CFDC_HARDENED_ON_SE 0x00000002
|
#define FSF_STATUS_READ_SUB_CFDC_HARDENED_ON_SE 0x00000002
|
||||||
#define FSF_STATUS_READ_SUB_CFDC_HARDENED_ON_SE2 0x0000000F
|
#define FSF_STATUS_READ_SUB_CFDC_HARDENED_ON_SE2 0x0000000F
|
||||||
@ -211,6 +222,7 @@
|
|||||||
/* channel features */
|
/* channel features */
|
||||||
#define FSF_FEATURE_CFDC 0x00000002
|
#define FSF_FEATURE_CFDC 0x00000002
|
||||||
#define FSF_FEATURE_LUN_SHARING 0x00000004
|
#define FSF_FEATURE_LUN_SHARING 0x00000004
|
||||||
|
#define FSF_FEATURE_NOTIFICATION_LOST 0x00000008
|
||||||
#define FSF_FEATURE_HBAAPI_MANAGEMENT 0x00000010
|
#define FSF_FEATURE_HBAAPI_MANAGEMENT 0x00000010
|
||||||
#define FSF_FEATURE_ELS_CT_CHAINED_SBALS 0x00000020
|
#define FSF_FEATURE_ELS_CT_CHAINED_SBALS 0x00000020
|
||||||
#define FSF_FEATURE_UPDATE_ALERT 0x00000100
|
#define FSF_FEATURE_UPDATE_ALERT 0x00000100
|
||||||
|
Loading…
Reference in New Issue
Block a user