On 7/7/10 10:49 AM, Robert Love wrote:
> On Mon, 2010-06-28 at 10:48 -0700, Joe Eykholt wrote:
>> To pave the way for eliminating exchanges from incoming requests,
>> add simple inline fc_frame_sid() and fc_frame_did() functions
>> which get the FC_IDs from the frame header.  This can be almost
>> as efficient as getting them from the sequence/exchange.
>>
>> Move ntohll, htonll, ntoh24 and hton24 to<scsi/fc_frame.h>
>> since we need them there and that's included by<scsi/libfc.h>
>>
>> Signed-off-by: Joe Eykholt<[email protected]>
>> ---
>>   drivers/scsi/libfc/fc_lport.c |   12 ++++-------
>>   drivers/scsi/libfc/fc_rport.c |   26 +++++-------------------
>>   include/scsi/fc_frame.h       |   45 
>> ++++++++++++++++++++++++++++++++++++++++-
>>   include/scsi/libfc.h          |   18 ----------------
>>   4 files changed, 54 insertions(+), 47 deletions(-)
>>
>>
>> diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
>> index ec9850c..be3c2ce 100644
>> --- a/drivers/scsi/libfc/fc_lport.c
>> +++ b/drivers/scsi/libfc/fc_lport.c
>> @@ -800,7 +800,6 @@ static void fc_lport_recv_flogi_req(struct fc_seq *sp_in,
>>                                  struct fc_lport *lport)
>>   {
>>      struct fc_frame *fp;
>> -    struct fc_frame_header *fh;
>>      struct fc_seq *sp;
>>      struct fc_exch *ep;
>>      struct fc_els_flogi *flp;
>> @@ -813,8 +812,7 @@ static void fc_lport_recv_flogi_req(struct fc_seq *sp_in,
>>      FC_LPORT_DBG(lport, "Received FLOGI request while in state %s\n",
>>                   fc_lport_state(lport));
>>
>> -    fh = fc_frame_header_get(rx_fp);
>> -    remote_fid = ntoh24(fh->fh_s_id);
>> +    remote_fid = fc_frame_sid(rx_fp);
>>      flp = fc_frame_payload_get(rx_fp, sizeof(*flp));
>>      if (!flp)
>>              goto out;
>> @@ -910,7 +908,7 @@ static void fc_lport_recv_req(struct fc_lport *lport, 
>> struct fc_seq *sp,
>>                              recv = fc_lport_recv_flogi_req;
>>                      break;
>>              case ELS_LOGO:
>> -                    if (ntoh24(fh->fh_s_id) == FC_FID_FLOGI)
>> +                    if (fc_frame_sid(fp) == FC_FID_FLOGI)
>>                              recv = fc_lport_recv_logo_req;
>>                      break;
>>              case ELS_RSCN:
>> @@ -1468,7 +1466,6 @@ void fc_lport_flogi_resp(struct fc_seq *sp, struct 
>> fc_frame *fp,
>>                       void *lp_arg)
>>   {
>>      struct fc_lport *lport = lp_arg;
>> -    struct fc_frame_header *fh;
>>      struct fc_els_flogi *flp;
>>      u32 did;
>>      u16 csp_flags;
>> @@ -1496,8 +1493,7 @@ void fc_lport_flogi_resp(struct fc_seq *sp, struct 
>> fc_frame *fp,
>>              goto err;
>>      }
>>
>> -    fh = fc_frame_header_get(fp);
>> -    did = ntoh24(fh->fh_d_id);
>> +    did = fc_frame_did(fp);
>>      if (fc_frame_payload_op(fp) == ELS_LS_ACC&&  did != 0) {
>>              flp = fc_frame_payload_get(fp, sizeof(*flp));
>>              if (flp) {
>> @@ -1523,7 +1519,7 @@ void fc_lport_flogi_resp(struct fc_seq *sp, struct 
>> fc_frame *fp,
>>                                     "Port (%6.6x) entered "
>>                                     "point-to-point mode\n",
>>                                     lport->host->host_no, did);
>> -                            fc_lport_ptp_setup(lport, ntoh24(fh->fh_s_id),
>> +                            fc_lport_ptp_setup(lport, fc_frame_sid(fp),
>>                                                 get_unaligned_be64(
>>                                                      &flp->fl_wwpn),
>>                                                 get_unaligned_be64(
>> diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
>> index c06d63e..1234931 100644
>> --- a/drivers/scsi/libfc/fc_rport.c
>> +++ b/drivers/scsi/libfc/fc_rport.c
>> @@ -747,13 +747,11 @@ static void fc_rport_recv_flogi_req(struct fc_lport 
>> *lport,
>>      struct fc_rport_priv *rdata;
>>      struct fc_frame *fp = rx_fp;
>>      struct fc_exch *ep;
>> -    struct fc_frame_header *fh;
>>      struct fc_seq_els_data rjt_data;
>>      u32 sid, f_ctl;
>>
>>      rjt_data.fp = NULL;
>> -    fh = fc_frame_header_get(fp);
>> -    sid = ntoh24(fh->fh_s_id);
>> +    sid = fc_frame_sid(fp);
>>
>>      FC_RPORT_ID_DBG(lport, sid, "Received FLOGI request\n");
>
> Hey Joe,
>
>       These patches don't apply to fcoe-next. My guess is that they only
> apply on top of your VN2VN patches. Do you want to add them to that
> series or update this series?

Hi Robert,

I'm sure you're right, the two series need to be applied in order.  Isn't that 
OK?

I submitted them in that order, but they are for different things,
so I don't thing the should be part of the same series.
Should I wait for one series to be applied before submitting the next one?

        Thanks,
        Joe

_______________________________________________
devel mailing list
[email protected]
http://www.open-fcoe.org/mailman/listinfo/devel

Reply via email to