Skip to contentSkip to conversation

One more zfcp fix for 2.6.33-rc

PATCH New Christof Schmitt 1 participant 2 messages Jan 26, 2010

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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

#1 lore raw

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).

---

 drivers/s390/scsi/zfcp_fc.c |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)
drivers/s390/scsi/zfcp_fc.c +4 -5
diff -urpN linux-2.6/drivers/s390/scsi/zfcp_fc.c linux-2.6-patched/drivers/s390/scsi/zfcp_fc.c
@@ -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);
 }