[SCSI] zfcp: add additional fc_host attributes
this patch adds some fc host attributes and removes its equivalents
from the zfcp_adapter structure and zfcp specific sysfs subtree.
Furthermore it removes superfluous calls to fc_remort_port_delete when
an adapter is set offline because rports will be removed by
fc_remove_host anyway.
Signed-off-by: Andreas Herrmann <aherrman@de.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
diff --git a/drivers/s390/scsi/zfcp_dbf.c b/drivers/s390/scsi/zfcp_dbf.c
index 64d9b90..826fb3b 100644
--- a/drivers/s390/scsi/zfcp_dbf.c
+++ b/drivers/s390/scsi/zfcp_dbf.c
@@ -486,8 +486,7 @@
inline void
_zfcp_san_dbf_event_common_ct(const char *tag, struct zfcp_fsf_req *fsf_req,
- fc_id_t s_id, fc_id_t d_id,
- void *buffer, int buflen)
+ u32 s_id, u32 d_id, void *buffer, int buflen)
{
struct zfcp_send_ct *send_ct = (struct zfcp_send_ct *)fsf_req->data;
struct zfcp_port *port = send_ct->port;
@@ -532,9 +531,9 @@
struct zfcp_port *port = ct->port;
struct zfcp_adapter *adapter = port->adapter;
- _zfcp_san_dbf_event_common_ct("octc",
- fsf_req, adapter->s_id, port->d_id,
- zfcp_sg_to_address(ct->req),
+ _zfcp_san_dbf_event_common_ct("octc", fsf_req,
+ fc_host_port_id(adapter->scsi_host),
+ port->d_id, zfcp_sg_to_address(ct->req),
ct->req->length);
}
@@ -544,17 +543,16 @@
struct zfcp_port *port = ct->port;
struct zfcp_adapter *adapter = port->adapter;
- _zfcp_san_dbf_event_common_ct("rctc",
- fsf_req, port->d_id, adapter->s_id,
+ _zfcp_san_dbf_event_common_ct("rctc", fsf_req, port->d_id,
+ fc_host_port_id(adapter->scsi_host),
zfcp_sg_to_address(ct->resp),
ct->resp->length);
}
static inline void
_zfcp_san_dbf_event_common_els(const char *tag, int level,
- struct zfcp_fsf_req *fsf_req,
- fc_id_t s_id, fc_id_t d_id, u8 ls_code,
- void *buffer, int buflen)
+ struct zfcp_fsf_req *fsf_req, u32 s_id,
+ u32 d_id, u8 ls_code, void *buffer, int buflen)
{
struct zfcp_adapter *adapter = fsf_req->adapter;
struct zfcp_san_dbf_record *rec = &adapter->san_dbf_buf;
@@ -597,8 +595,9 @@
{
struct zfcp_send_els *els = (struct zfcp_send_els *)fsf_req->data;
- _zfcp_san_dbf_event_common_els("oels", 2,
- fsf_req, els->adapter->s_id, els->d_id,
+ _zfcp_san_dbf_event_common_els("oels", 2, fsf_req,
+ fc_host_port_id(els->adapter->scsi_host),
+ els->d_id,
*(u8 *) zfcp_sg_to_address(els->req),
zfcp_sg_to_address(els->req),
els->req->length);
@@ -608,8 +607,8 @@
{
struct zfcp_send_els *els = (struct zfcp_send_els *)fsf_req->data;
- _zfcp_san_dbf_event_common_els("rels", 2,
- fsf_req, els->d_id, els->adapter->s_id,
+ _zfcp_san_dbf_event_common_els("rels", 2, fsf_req, els->d_id,
+ fc_host_port_id(els->adapter->scsi_host),
*(u8 *) zfcp_sg_to_address(els->req),
zfcp_sg_to_address(els->resp),
els->resp->length);
@@ -623,9 +622,8 @@
int length = (int)status_buffer->length -
(int)((void *)&status_buffer->payload - (void *)status_buffer);
- _zfcp_san_dbf_event_common_els("iels", 1,
- fsf_req, status_buffer->d_id,
- adapter->s_id,
+ _zfcp_san_dbf_event_common_els("iels", 1, fsf_req, status_buffer->d_id,
+ fc_host_port_id(adapter->scsi_host),
*(u8 *) status_buffer->payload,
(void *)status_buffer->payload, length);
}