On 08/03/2016 07:33 PM, Bart Van Assche wrote:
> On 08/03/2016 06:13 AM, Hannes Reinecke wrote:
>> @@ -1121,8 +1124,10 @@ static void fc_rport_prli_resp(struct fc_seq
>> *sp, struct fc_frame *fp,
>> fc_rport_enter_rtv(rdata);
>>
>> } else {
>> - FC_RPORT_DBG(rdata, "Bad ELS response for PRLI command\n");
>> - fc_rport_error_retry(rdata, fp);
>> + rjt = fc_frame_payload_get(fp, sizeof (*rjt));
>> + FC_RPORT_DBG(rdata, "PRLI ELS rejected, reason %x expl %x\n",
>> + rjt->er_reason, rjt->er_explan);
>> + fc_rport_error_retry(rdata, NULL);
>> }
>
> Shouldn't the type of the frame be checked in this code instead of
> assuming that it's a reject?
>
I've asked me the same question, but as it stands FC-LS only allows for
two frame types (LS_ACC or LS_RJT).
And it's (more-or-less) consistent usage throughout libfc.
But yeah, for safety one really should check for LS_ACC and LS_RJT and
throw an error for any other type.
However, that should be done throughout libfc, and would warrant a
different patch.
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
[email protected] +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html