From: Mike Christie <michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
To: "Love, Robert W" <robert.w.love-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: devel-s9riP+hp16TNLxjTenLetw@public.gmane.org,
linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: fcoe cleanups and fcoe TODO
Date: Mon, 30 Jun 2008 16:43:59 -0500 [thread overview]
Message-ID: <4869539F.3070605@cs.wisc.edu> (raw)
In-Reply-To: <10A7D0016239E24092DEF05CCC582E4303FE4B55-6O2ePOu3Gqekrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
Love, Robert W wrote:
>> Hey,
>>
>> Following are some cleanup patches for things I found while trying
>> to get setup. I did not get to test the patches well, because
>> the rearch code does not seem to work every well the software
>> target. I basically loaded the driver and made sure I could login
>> and find storage. Trying to do heavy READ and WRITE IO lead to
> problems.
>> The patches are made over the re-arch git tree.
>>
> Awesome, I've reviewed a few and will get them in shortly.
Oh yeah, I just rebased my tree and saw all the checkins from the
weekend so my patches do not apply from a tree that is pulled today. Are
you going to fix that for me, or do you want me to rediff and resend
when you are done reviewing. I heard the iscsi maintainer is really nice
and will rediff for you :)
>> - I am not sure if the setup functions like fc_lport_init are nice
>> in how it sets the transport functions pointers for you or if it will
> lead
>> to problems for drivers that want to partially hook in, but find
>> out that the lib has set some functions it did not want. Maybe we want
>> to set the libfc functions in the LLD like is done for the
>> scsi_host_template.
>>
> Yeah, we've debated whether we should have the lib init the pointers and
> then have the LLD override them or have the LLD set them first and have
> the lib fill in the un-initialized ones. The current design allows a LLD
> to override the default functions with its own. Is your suggestion to
> expose all of the functions that could satisfy the tt
> (fc_transport_template) pointers through the libfc API and have the LLD
> set them all?
It was, but for now we probably do not need to change it unless someone
cares. I think it is best to do this last since it is not a big deal and
we still do not know what drivers are using and things are more stable.
>
> Throughout this re-architecture the tt and libfc API have grown and
> shrunk. Lately we've bloated the tt to expose functions that were
> previously called directly from one UL system (fc_scsi, fc_lport,
> fc_rport or fc_disc) to another. The number of functions needed in the
> tt and also required in the libfc API seemed like too much and having a
> little _init() function for each UL system seemed cleaner. We're getting
> closer to having a cleaner API between each UL system so maybe we can
> move the assignment of tt pointers back to the LLD.
>
>> I think we need to see more hardware in the end. For now since there is
>> only
>> software fcoe that is out, this could probably be ok and as we see more
>> drivers we can evolve the split for the hardware like was done with
> iscsi.
>> For iscsi we ended up with 4 different offload modules so there was no
> way
>> we could have designed for all of them and the hardware/firmware
>> guys's quirks :)
>>
> We definitely expect this library to evolve as more LLDs use it.
>
>> - In general without knowing how hardware is really going to hook into
>> the lib it is hard to say how the rearch is going :) If we cannot
>> move more of the fc_remote_port to the rport (or if we just do not
>> want to move it all there because other drivers like lpfc and qla2xxx
>> will never use it) then we might want to rename the fc_remote_port
>> to avoid confusion with the rport and make it clear that the libfc
> remote
>> port is only needed for libfc operations.
>>
> We'd like to reduce fc_remote_port to nothing and only use fc_rport.
> We're still not sure we can completely achieve this without either
> having some private data or adding fields to the fc_rport.
On a related note, are there going to be values that we need to export
in sysfs that are specific to fcoe? For remote port values are we going
to export them on the fc_rport (is the fc_rport for anything and
everything related to FC) or some new struct?
If it is a new struct, what if a driver does not use any
fc_transport_template callouts and does not hook into libfc?
>
>> Should the fc_transport_template be merged with the
> fc_function_template?
>> The function callouts to do things lke abort IO or cleanup commands
> look
>> similar. But in general should the fc_function_template be common for
> all
>> fc drivers and should the fc_transport_template be just for the ones
> that
>> are
>> going to hook into the libfc? If the latter maybe we want to rename
> this to
>> make the visibility clear.
>>
> So something like libfc_transport_template?
That makes it clear, but I do not know if it is a good name. It sounds
ugly like something I would name it (I am not good at naming as you can
tell from some of the iscsi function names). All I know is that the
original is not so clear :)
next prev parent reply other threads:[~2008-06-30 21:43 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-29 18:23 fcoe cleanups and fcoe TODO michaelc
2008-06-29 18:23 ` [PATCH 01/13] set proc name michaelc
[not found] ` <1214763843-5548-2-git-send-email-michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2008-06-29 18:23 ` [PATCH 02/13] libfc: remove libfc scan_host michaelc-hcNo3dDEHLuVc3sceRu5cw
2008-06-29 18:23 ` [PATCH 03/13] libfc: fix locking in tt.rport_lookup_create paths michaelc
[not found] ` <1214763843-5548-4-git-send-email-michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2008-06-29 18:23 ` [PATCH 04/13] fcoe: fix fcoe_create_interface goto paths michaelc-hcNo3dDEHLuVc3sceRu5cw
[not found] ` <1214763843-5548-5-git-send-email-michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2008-06-29 18:23 ` [PATCH 05/13] libfc: rename target reset michaelc-hcNo3dDEHLuVc3sceRu5cw
[not found] ` <1214763843-5548-6-git-send-email-michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2008-06-29 18:23 ` [PATCH 06/13] libfc: trivial fc_scsi cleanup michaelc-hcNo3dDEHLuVc3sceRu5cw
[not found] ` <1214763843-5548-7-git-send-email-michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2008-06-29 18:23 ` [PATCH 07/13] libfc: remove os_lun michaelc-hcNo3dDEHLuVc3sceRu5cw
[not found] ` <1214763843-5548-8-git-send-email-michaelc-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2008-06-29 18:23 ` [PATCH 08/13] libfc fcoe: use shost_priv michaelc-hcNo3dDEHLuVc3sceRu5cw
2008-06-29 18:23 ` [PATCH 09/13] libfc: use get/put_aligned_be helpers michaelc
2008-06-29 18:24 ` [PATCH 10/13] libfc fcoe: coding style fixups - use uX for definitions michaelc
2008-06-29 18:24 ` [PATCH 11/13] libfc: mv scsi pkt cache to module michaelc
2008-06-29 18:24 ` [PATCH 12/13] libfc: mv em exch " michaelc
2008-06-29 18:24 ` [PATCH 13/13] libfc: remove unnessary casts michaelc
2008-06-30 23:35 ` [Open-FCoE] [PATCH 12/13] libfc: mv em exch cache to module Dev, Vasu
2008-06-30 20:33 ` fcoe cleanups and fcoe TODO Love, Robert W
[not found] ` <10A7D0016239E24092DEF05CCC582E4303FE4B55-6O2ePOu3Gqekrb+BlOpmy7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2008-06-30 21:43 ` Mike Christie [this message]
[not found] ` <4869539F.3070605-hcNo3dDEHLuVc3sceRu5cw@public.gmane.org>
2008-06-30 21:47 ` Mike Christie
2008-06-30 23:33 ` Mike Christie
2008-07-01 14:37 ` Andrew Vasquez
2008-07-03 0:13 ` [Open-FCoE] " Leech, Christopher
2008-07-03 17:18 ` Mike Christie
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=4869539F.3070605@cs.wisc.edu \
--to=michaelc-hcno3ddehluvc3sceru5cw@public.gmane.org \
--cc=devel-s9riP+hp16TNLxjTenLetw@public.gmane.org \
--cc=linux-scsi-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=robert.w.love-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.