linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Joe Eykholt <jeykholt@cisco.com>
To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: linux-iscsi-target-dev@googlegroups.com, "Love,
	Robert W" <robert.w.love@intel.com>,
	openfcoe-devel <devel@open-fcoe.org>,
	linux-scsi <linux-scsi@vger.kernel.org>
Subject: Re: libfc_lport.c:fc_lport_recv_req() dropping struct fc_seq	parameter for v2.6.36-rc3..?
Date: Tue, 31 Aug 2010 14:12:26 -0700	[thread overview]
Message-ID: <4C7D703A.1000607@cisco.com> (raw)
In-Reply-To: <1283288430.32007.495.camel@haakon2.linux-iscsi.org>



On 8/31/10 2:00 PM, Nicholas A. Bellinger wrote:
> On Tue, 2010-08-31 at 13:50 -0700, Joe Eykholt wrote:
>>
>> On 8/31/10 1:14 PM, Nicholas A. Bellinger wrote:
>>> Hi Joe and Robert,
>>>
>>> So after jumping to v2.6.36-rc3 for the lio-core-2.6.git/lio-4.0 branch
>>> recently and fixing some minor breakage around the original struct
>>> fc4_prov patches I merged from Joe in the spring, mostly having to do
>>> with drivers/scsi/libfc/libfc_lport.c:fc_lport_recv_req() changes from
>>> this commit:
>>>
>>> [SCSI] libfc: don't require a local exchange for incomining requests
>>> http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=922611569572d3c1aa0ed6491d21583fb3fcca22
>>>
>>> I was able to get libfc + struct fc4_prov compiling after fixing the
>>> conflicts.  However, I have run into non-trivial breakage in the
>>> Open-FCoE.org / TCM_FC fabric module itself because of it's dependence
>>> bit upon having direct access to the passed struct fc_seq.   The code
>>> currently assigns to struct fc_seq * to struct ft_cmd->seq, and gets
>>> used in a number of subsequent areas after the struct fc4_prov->recv()
>>> entry hook at drivers/target/tcm_fc/tfc_cmd.c:ft_recv_cmd() gets called.
>>>
>>> I took a very brief look at trying to resolve the breakage myself, but
>>> quickly got a bit lost in terms of what TCM_FC actually needs to be
>>> accessing struct fc_seq directly for.  Would either of you gentlemen
>>> mind giving me a bit of insight into what you think would be required by
>>> TCM_FC in order to function with the recent libfc fc_lport_recv_req()
>>> changes..?
>>
>> I caused this problem, and anticipated that I would have
>> to make changes to tcm_fc to accommodate it.  Then I forgot by the
>> time it made it upstream.
> 
> <nod>
> 
>>
>> Now incoming requests don't get a sequence assigned unless they ask for
>> it, so we need to call lport->tt.seq_assign() for the request.
>> It turns out I forgot that that takes a reference on the sequence, so
>> I have another patch to add to drop the refcnt.
>>
> 
> Ahh, I think I understand a bit more now, thanks for the extra context
> here.  Does this mean that lport->tt.seq_assign() will be returning the
> struct fc_exch * used by the primary READ/WRITE handlers in tfc_io.c
> code..?

Sort of.  It returns a struct fc_seq *, but sequences and exchanges are 1:1,
so we can find the exchange using fc_seq_exch().

>> I can work on this at some point in the next few days if you can wait.

> Sure, no rush on this item.  I was just curious to understand the bigger
> picture of the recent changes you guys have been working on.  8-)
> 
> Thanks for your comments Joe!
> 
> --nab
> 
> 

      reply	other threads:[~2010-08-31 21:12 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-31 20:14 libfc_lport.c:fc_lport_recv_req() dropping struct fc_seq parameter for v2.6.36-rc3..? Nicholas A. Bellinger
     [not found] ` <1283285663.32007.476.camel-Y1+j5t8j3WgjMeEPmliV8E/sVC8ogwMJ@public.gmane.org>
2010-08-31 20:50   ` Joe Eykholt
2010-08-31 21:00     ` Nicholas A. Bellinger
2010-08-31 21:12       ` Joe Eykholt [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C7D703A.1000607@cisco.com \
    --to=jeykholt@cisco.com \
    --cc=devel@open-fcoe.org \
    --cc=linux-iscsi-target-dev@googlegroups.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=nab@linux-iscsi.org \
    --cc=robert.w.love@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).