public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Robert Love <robert.w.love@intel.com>
To: James.Bottomley@HansenPartnership.com, linux-scsi@vger.kernel.org
Subject: [PATCH 00/64] libfc, libfcoe and fcoe updates for scsi-misc
Date: Tue, 25 Aug 2009 13:58:26 -0700	[thread overview]
Message-ID: <20090825205826.1553.94414.stgit@localhost.localdomain> (raw)

These patches are targeting the 2.6.32 merge window.

There are three main focuses in this patch series. First,
there are contributions that modify the stack for VLANs
and prepare for NPIV. For both of those technologies resources
need to be shared between VLANs on a physical port or
VN_Ports on an N_Port. Second, there are improvements to
the discovery and remote port layers. Discovery is now much
more graceful (ADISC) and there is a cleaner division between
fc_rports that are used by the FC transport and libfc's
internal remote port tracking structures. Third, there is
a performance optomization for the exchange manager where
per-CPU exchange ID (XID) pools are created so that each CPU
is not contending for a shared lock when trying to acquire a
new XID.

Other than these primary changes there are other smaller
contributions. A user-tunable DDP limit has been added.
There are various improvements to the debug logging macros
and uses of them. FC headers are exported for user space
tools. The fcoe create/destroy path has been improved.

---

Chris Leech (15):
      fcoe: use rtnl mutex in place of hostlist lock
      fcoe: Fix module ref count bug by adding NETDEV UNREGISTER handling
      fcoe: move the host-list add/remove to keep out VN_Ports
      fcoe: add mutex to protect create and destroy
      fcoe: split out per interface setup
      fcoe: fcoe_interface create, destroy and refcounting
      fcoe: remove fcoe_interface->priv pointer
      fcoe: move offload exchange manager pointer from fcoe_port to fcoe_interface
      fcoe: move FIP controller from fcoe_port to fcoe_interface
      fcoe: move packet handlers from fcoe_port to fcoe_interface
      fcoe: move netdev to fcoe_interface
      fcoe: Introduce and allocate fcoe_interface structure, 1:1 with net_device
      fcoe: interface changes to fcoe_if_create and fcoe_if_destroy
      fcoe: fix missing error check in call to fcoe_if_init
      libfcoe: fcoe_ctlr_destroy use cancel_work_sync instead of flush_work

Joe Eykholt (41):
      fcoe: flush per-cpu thread work when destroying interface
      libfc: don't swap OX_ID and RX_ID when sending BA_RJT
      libfc: send GPN_ID in reaction to single-port RSCNs.
      libfc: fix handling of incoming Discover Address (ADISC) requests
      libfc: use ADISC to verify rport login state
      libfc: LOGO response code had extraeous enter_rtv
      libfc: re-login to remote ports that send us LOGO
      libfc: fix rport error handling for login-required and invalid ops
      libfc: correctly handle incoming PLOGI request.
      libfc: improve debug messages for ELS response handlers
      libfc: fix: rport_recv_req needs disc_mutex when calling rport_lookup
      libfc: move remote port lookup for ELS requests into fc_rport.c.
      libfc: don't do discovery before callback is set
      libfc: clean up point-to-point discovery code.
      libfc: discovery gpn_ft parse bug
      libfc: discovery retry should clear pending first.
      libfc: fix: empty zone causes endless discovery retries.
      libfc: handle discovery failure more correctly.
      libfc: rearrange code in fc_disc_gpn_ft_resp()
      libfc: discovery restart sequence error fix
      libfc: do not log off rports before or after discovery
      libfc: move rport_lookup into fc_rport.c
      libfc: change to make remote port callback optional
      libfc: have rport_create do a lookup for pre-existing rports first
      libfc: make rport module maintain the rport list
      libfc: simplify fc_lport_rport_callback
      libfc: rport debug messages were printing pointer values
      libfc: remove unused disc->delay element
      libfc: eliminate disc->event
      libfc: fix rport event race between READY and LOGO
      libfc: don't create dummy (rogue) remote ports
      libfc: rename rport event CREATED to READY
      libfc: rearrange code in fc_rport_work
      libfc: make rport structure optional
      libfc: change elsct to use FC_ID instead of rdata
      libfc: make fc_rport_priv the primary rport interface.
      libfc: fix RPORT_TO_PRIV and PRIV_TO_RPORT() macros.
      libfc: change interface for rport_create
      libfc: prepare to split off struct fc_rport_priv from fc_rport_libfc_priv
      fcoe: remove unnecessary list and lock initializations.
      fcoe: libfcoe: extra semicolon in CHECK_LOGGING macros causes compile error

Robert Love (5):
      libfc: Always reset remote port roles when receiving PRLI
      libfc: Initialize fc_rport_identifiers inside fc_rport_create
      libfc: Export FC headers
      libfc: Fix misleading debug statement
      fcoe: Add format spacing to FCOE_NETDEV_DBG debug macro

Vasu Dev (2):
      fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock
      fcoe, libfc: adds per cpu exch pool within exchange manager(EM)

Yi Zou (1):
      fcoe: Add sysfs parameter to fcoe for minimum DDP read I/O size


 drivers/scsi/fcoe/fcoe.c      |  948 ++++++++++++++++++++----------------
 drivers/scsi/fcoe/fcoe.h      |   32 +
 drivers/scsi/fcoe/libfcoe.c   |   10 
 drivers/scsi/libfc/fc_disc.c  |  523 ++++++++------------
 drivers/scsi/libfc/fc_elsct.c |   49 ++
 drivers/scsi/libfc/fc_exch.c  |  286 +++++++----
 drivers/scsi/libfc/fc_fcp.c   |    2 
 drivers/scsi/libfc/fc_lport.c |  222 ++------
 drivers/scsi/libfc/fc_rport.c | 1091 +++++++++++++++++++++++++----------------
 include/scsi/Kbuild           |    1 
 include/scsi/fc/Kbuild        |    4 
 include/scsi/fc/fc_gs.h       |    1 
 include/scsi/fc_encode.h      |   60 ++
 include/scsi/libfc.h          |  122 +++--
 14 files changed, 1824 insertions(+), 1527 deletions(-)
 create mode 100644 include/scsi/fc/Kbuild

-- 
//Rob

             reply	other threads:[~2009-08-25 20:58 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-25 20:58 Robert Love [this message]
2009-08-25 20:58 ` [PATCH 01/64] fcoe: Add format spacing to FCOE_NETDEV_DBG debug macro Robert Love
2009-08-25 20:58 ` [PATCH 02/64] libfc: Fix misleading debug statement Robert Love
2009-08-25 20:58 ` [PATCH 03/64] fcoe: libfcoe: extra semicolon in CHECK_LOGGING macros causes compile error Robert Love
2009-08-25 20:58 ` [PATCH 04/64] fcoe, libfc: adds per cpu exch pool within exchange manager(EM) Robert Love
2009-08-25 20:58 ` [PATCH 05/64] fcoe, libfc: fully makes use of per cpu exch pool and then removes em_lock Robert Love
2009-08-25 20:58 ` [PATCH 06/64] libfc: Export FC headers Robert Love
2009-08-27 10:27   ` Christof Schmitt
2009-08-27 17:42     ` Robert Love
2009-08-28  8:32       ` Swen Schillig
2009-08-28 16:58         ` Robert Love
2009-08-25 20:59 ` [PATCH 07/64] fcoe: Add sysfs parameter to fcoe for minimum DDP read I/O size Robert Love
2009-08-25 20:59 ` [PATCH 08/64] libfcoe: fcoe_ctlr_destroy use cancel_work_sync instead of flush_work Robert Love
2009-08-25 20:59 ` [PATCH 09/64] fcoe: fix missing error check in call to fcoe_if_init Robert Love
2009-08-25 20:59 ` [PATCH 10/64] fcoe: remove unnecessary list and lock initializations Robert Love
2009-08-25 20:59 ` [PATCH 11/64] fcoe: interface changes to fcoe_if_create and fcoe_if_destroy Robert Love
2009-08-25 20:59 ` [PATCH 12/64] fcoe: Introduce and allocate fcoe_interface structure, 1:1 with net_device Robert Love
2009-08-25 20:59 ` [PATCH 13/64] fcoe: move netdev to fcoe_interface Robert Love
2009-08-25 20:59 ` [PATCH 14/64] fcoe: move packet handlers from fcoe_port " Robert Love
2009-08-25 20:59 ` [PATCH 15/64] fcoe: move FIP controller " Robert Love
2009-08-25 20:59 ` [PATCH 16/64] fcoe: move offload exchange manager pointer " Robert Love
2009-08-25 20:59 ` [PATCH 17/64] fcoe: remove fcoe_interface->priv pointer Robert Love
2009-08-25 21:00 ` [PATCH 18/64] fcoe: fcoe_interface create, destroy and refcounting Robert Love
2009-08-25 21:00 ` [PATCH 19/64] fcoe: split out per interface setup Robert Love
2009-08-25 21:00 ` [PATCH 20/64] fcoe: add mutex to protect create and destroy Robert Love
2009-08-25 21:00 ` [PATCH 21/64] fcoe: move the host-list add/remove to keep out VN_Ports Robert Love
2009-08-25 21:00 ` [PATCH 22/64] fcoe: Fix module ref count bug by adding NETDEV UNREGISTER handling Robert Love
2009-08-25 21:00 ` [PATCH 23/64] fcoe: use rtnl mutex in place of hostlist lock Robert Love
2009-08-25 21:00 ` [PATCH 24/64] libfc: prepare to split off struct fc_rport_priv from fc_rport_libfc_priv Robert Love
2009-08-25 21:00 ` [PATCH 25/64] libfc: change interface for rport_create Robert Love
2009-08-25 21:00 ` [PATCH 26/64] libfc: fix RPORT_TO_PRIV and PRIV_TO_RPORT() macros Robert Love
2009-08-25 21:00 ` [PATCH 27/64] libfc: make fc_rport_priv the primary rport interface Robert Love
2009-08-25 21:00 ` [PATCH 28/64] libfc: change elsct to use FC_ID instead of rdata Robert Love
2009-08-25 21:01 ` [PATCH 29/64] libfc: make rport structure optional Robert Love
2009-08-25 21:01 ` [PATCH 30/64] libfc: rearrange code in fc_rport_work Robert Love
2009-08-25 21:01 ` [PATCH 31/64] libfc: rename rport event CREATED to READY Robert Love
2009-08-25 21:01 ` [PATCH 32/64] libfc: don't create dummy (rogue) remote ports Robert Love
2009-08-25 21:01 ` [PATCH 33/64] libfc: fix rport event race between READY and LOGO Robert Love
2009-08-25 21:01 ` [PATCH 34/64] libfc: eliminate disc->event Robert Love
2009-08-25 21:01 ` [PATCH 35/64] libfc: remove unused disc->delay element Robert Love
2009-08-25 21:01 ` [PATCH 36/64] libfc: rport debug messages were printing pointer values Robert Love
2009-08-25 21:01 ` [PATCH 37/64] libfc: simplify fc_lport_rport_callback Robert Love
2009-08-25 21:01 ` [PATCH 38/64] libfc: make rport module maintain the rport list Robert Love
2009-08-25 21:01 ` [PATCH 39/64] libfc: have rport_create do a lookup for pre-existing rports first Robert Love
2009-08-25 21:02 ` [PATCH 40/64] libfc: change to make remote port callback optional Robert Love
2009-08-25 21:02 ` [PATCH 41/64] libfc: move rport_lookup into fc_rport.c Robert Love
2009-08-25 21:02 ` [PATCH 42/64] libfc: do not log off rports before or after discovery Robert Love
2009-08-25 21:02 ` [PATCH 43/64] libfc: discovery restart sequence error fix Robert Love
2009-08-25 21:02 ` [PATCH 44/64] libfc: rearrange code in fc_disc_gpn_ft_resp() Robert Love
2009-08-25 21:02 ` [PATCH 45/64] libfc: handle discovery failure more correctly Robert Love
2009-08-25 21:02 ` [PATCH 46/64] libfc: fix: empty zone causes endless discovery retries Robert Love
2009-08-25 21:02 ` [PATCH 47/64] libfc: discovery retry should clear pending first Robert Love
2009-08-25 21:02 ` [PATCH 48/64] libfc: discovery gpn_ft parse bug Robert Love
2009-08-25 21:02 ` [PATCH 49/64] libfc: clean up point-to-point discovery code Robert Love
2009-08-25 21:02 ` [PATCH 50/64] libfc: don't do discovery before callback is set Robert Love
2009-08-25 21:02 ` [PATCH 51/64] libfc: Initialize fc_rport_identifiers inside fc_rport_create Robert Love
2009-08-25 21:03 ` [PATCH 52/64] libfc: Always reset remote port roles when receiving PRLI Robert Love
2009-08-25 21:03 ` [PATCH 53/64] libfc: move remote port lookup for ELS requests into fc_rport.c Robert Love
2009-08-25 21:03 ` [PATCH 54/64] libfc: fix: rport_recv_req needs disc_mutex when calling rport_lookup Robert Love
2009-08-25 21:03 ` [PATCH 55/64] libfc: improve debug messages for ELS response handlers Robert Love
2009-08-25 21:03 ` [PATCH 56/64] libfc: correctly handle incoming PLOGI request Robert Love
2009-08-25 21:03 ` [PATCH 57/64] libfc: fix rport error handling for login-required and invalid ops Robert Love
2009-08-25 21:03 ` [PATCH 58/64] libfc: re-login to remote ports that send us LOGO Robert Love
2009-08-25 21:03 ` [PATCH 59/64] libfc: LOGO response code had extraeous enter_rtv Robert Love
2009-08-25 21:03 ` [PATCH 60/64] libfc: use ADISC to verify rport login state Robert Love
2009-08-25 21:03 ` [PATCH 61/64] libfc: fix handling of incoming Discover Address (ADISC) requests Robert Love
2009-08-25 21:03 ` [PATCH 62/64] libfc: send GPN_ID in reaction to single-port RSCNs Robert Love
2009-08-25 21:04 ` [PATCH 63/64] libfc: don't swap OX_ID and RX_ID when sending BA_RJT Robert Love
2009-08-25 21:04 ` [PATCH 64/64] fcoe: flush per-cpu thread work when destroying interface Robert Love

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=20090825205826.1553.94414.stgit@localhost.localdomain \
    --to=robert.w.love@intel.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=linux-scsi@vger.kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox