One more zfcp fix for 2.6.33-rc
Subsystems (3)
cover One more zfcp fix for 2.6.33-rc
James,
here is one more fix for zfcp in the current 2.6.33-rc cycle. The patch applies to the current scsi-rc-fixes tree.
We missed that problem in the last round of bsg fixes in zfcp, i hope this is the last one.
--
Christof Schmitt
PATCH 1/1 zfcp: Report FC BSG errors in correct field
From: Swen Schillig <[email protected]>
The status FC_CTELS_STATUS_REJECT for all FC BSG errors is not appropriate. Instead, report -EIO in the result field if there was a problem in zfcp with the FC BSG request. If the request is good from our point of view, report result 0, status FC_CTELS_STATUS_OK and let userspace read the Accept or Reject from the payload (as documented in scsi_bsg_fc.h).
Signed-off-by Swen Schillig <[email protected]>
Signed-off-by Christof Schmitt <[email protected]>
---
drivers/s390/scsi/zfcp_fc.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/s390/scsi/zfcp_fc.c +4 -5
@@ -671,12 +671,11 @@ static void zfcp_fc_ct_els_job_handler(v {struct fc_bsg_job *job = data;struct zfcp_fsf_ct_els *zfcp_ct_els = job->dd_data; -int status = zfcp_ct_els->status; -int reply_status; +struct fc_bsg_reply *jr = job->reply; - reply_status = status ?FC_CTELS_STATUS_REJECT :FC_CTELS_STATUS_OK ; - job->reply->reply_data.ctels_reply.status = reply_status; - job->reply->reply_payload_rcv_len = job->reply_payload.payload_len; + jr->reply_payload_rcv_len = job->reply_payload.payload_len; + jr->reply_data.ctels_reply.status =FC_CTELS_STATUS_OK ; + jr->result = zfcp_ct_els->status ? -EIO :0 ; job->job_done (job); }