From: Robert Love <robert.w.love@intel.com>
To: james.bottomley@hansenpartnership.com, linux-scsi@vger.kernel.org
Subject: [PATCH 01/24] libfc: Pass lport in exch_mgr_reset
Date: Fri, 27 Feb 2009 10:54:35 -0800 [thread overview]
Message-ID: <20090227185435.25509.76860.stgit@fritz> (raw)
In-Reply-To: <20090227185430.25509.34309.stgit@fritz>
From: Abhijeet Joglekar <abjoglek@cisco.com>
fc_exch_mgr structure is private to fc_exch.c. To export exch_mgr_reset to
transport, transport needs access to the exch manager. Change
exch_mgr_reset to use lport param which is the shared structure between
libFC and transport.
Alternatively, fc_exch_mgr definition can be moved to libfc.h so that lport
can be accessed from mp*.
Signed-off-by: Abhijeet Joglekar <abjoglek@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
---
drivers/scsi/libfc/fc_exch.c | 3 ++-
drivers/scsi/libfc/fc_lport.c | 4 ++--
drivers/scsi/libfc/fc_rport.c | 4 ++--
include/scsi/libfc.h | 4 ++--
4 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index 66db08a..a09416f 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -1480,10 +1480,11 @@ static void fc_exch_reset(struct fc_exch *ep)
* If sid is non-zero, reset only exchanges we source from that FID.
* If did is non-zero, reset only exchanges destined to that FID.
*/
-void fc_exch_mgr_reset(struct fc_exch_mgr *mp, u32 sid, u32 did)
+void fc_exch_mgr_reset(struct fc_lport *lp, u32 sid, u32 did)
{
struct fc_exch *ep;
struct fc_exch *next;
+ struct fc_exch_mgr *mp = lp->emp;
spin_lock_bh(&mp->em_lock);
restart:
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c
index 0b9bdb1..5db223c 100644
--- a/drivers/scsi/libfc/fc_lport.c
+++ b/drivers/scsi/libfc/fc_lport.c
@@ -663,7 +663,7 @@ int fc_lport_destroy(struct fc_lport *lport)
{
lport->tt.frame_send = fc_frame_drop;
lport->tt.fcp_abort_io(lport);
- lport->tt.exch_mgr_reset(lport->emp, 0, 0);
+ lport->tt.exch_mgr_reset(lport, 0, 0);
return 0;
}
EXPORT_SYMBOL(fc_lport_destroy);
@@ -973,7 +973,7 @@ static void fc_lport_enter_reset(struct fc_lport *lport)
lport->tt.disc_stop(lport);
- lport->tt.exch_mgr_reset(lport->emp, 0, 0);
+ lport->tt.exch_mgr_reset(lport, 0, 0);
fc_host_fabric_name(lport->host) = 0;
fc_host_port_id(lport->host) = 0;
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
index e780d8c..dec7bae 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -1285,7 +1285,7 @@ void fc_rport_terminate_io(struct fc_rport *rport)
struct fc_rport_libfc_priv *rdata = rport->dd_data;
struct fc_lport *lport = rdata->local_port;
- lport->tt.exch_mgr_reset(lport->emp, 0, rport->port_id);
- lport->tt.exch_mgr_reset(lport->emp, rport->port_id, 0);
+ lport->tt.exch_mgr_reset(lport, 0, rport->port_id);
+ lport->tt.exch_mgr_reset(lport, rport->port_id, 0);
}
EXPORT_SYMBOL(fc_rport_terminate_io);
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index 9f28763..042f4ad 100644
--- a/include/scsi/libfc.h
+++ b/include/scsi/libfc.h
@@ -472,7 +472,7 @@ struct libfc_function_template {
* If s_id is non-zero, reset only exchanges originating from that FID.
* If d_id is non-zero, reset only exchanges sending to that FID.
*/
- void (*exch_mgr_reset)(struct fc_exch_mgr *,
+ void (*exch_mgr_reset)(struct fc_lport *,
u32 s_id, u32 d_id);
void (*rport_flush_queue)(void);
@@ -916,7 +916,7 @@ struct fc_seq *fc_seq_start_next(struct fc_seq *sp);
* If s_id is non-zero, reset only exchanges originating from that FID.
* If d_id is non-zero, reset only exchanges sending to that FID.
*/
-void fc_exch_mgr_reset(struct fc_exch_mgr *, u32 s_id, u32 d_id);
+void fc_exch_mgr_reset(struct fc_lport *, u32 s_id, u32 d_id);
/*
* Functions for fc_functions_template
next prev parent reply other threads:[~2009-02-27 18:54 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-02-27 18:54 [PATCH 00/24] libfc and fcoe fixes for 2.6.29-rc Robert Love
2009-02-27 18:54 ` Robert Love [this message]
2009-02-27 18:54 ` [PATCH 02/24] libfc: when rport goes away (re-plogi), clean up exchanges to/from rport Robert Love
2009-02-27 18:54 ` [PATCH 03/24] libfc: handle RRQ exch timeout Robert Love
2009-02-27 18:54 ` [PATCH 04/24] libfc: fixed a soft lockup issue in fc_exch_recv_abts Robert Love
2009-02-27 18:54 ` [PATCH 05/24] libfc, fcoe: fixed locking issues with lport->lp_mutex around lport->link_status Robert Love
2009-02-27 18:55 ` [PATCH 06/24] libfc: rport retry on LS_RJT from certain ELS Robert Love
2009-02-27 18:55 ` [PATCH 07/24] libfc: fixed a read IO data integrity issue when a IO data frame lost Robert Love
2009-02-27 18:55 ` [PATCH 08/24] libfc: exch mgr is freed while lport still retrying sequences Robert Love
2009-02-27 18:55 ` [PATCH 09/24] libfc: Don't violate transport template for rogue port creation Robert Love
2009-02-27 18:55 ` [PATCH 10/24] libfc: correct RPORT_TO_PRIV usage Robert Love
2009-02-27 18:55 ` [PATCH 11/24] libfc: rename rp to rdata in fc_disc_new_target() Robert Love
2009-02-27 18:55 ` [PATCH 12/24] libfc: check for err when recv and state is incorrect Robert Love
2009-02-27 18:55 ` [PATCH 13/24] libfc: Cleanup libfc_function_template comments Robert Love
2009-02-27 18:55 ` [PATCH 14/24] libfc, fcoe: Fix kerneldoc comments Robert Love
2009-02-27 18:55 ` [PATCH 15/24] libfc, fcoe: Cleanup function formatting and minor typos Robert Love
2009-02-27 18:55 ` [PATCH 16/24] libfc, fcoe: Remove unnecessary cast by removing inline wrapper Robert Love
2009-02-27 18:56 ` [PATCH 17/24] fcoe: Use setup_timer() and mod_timer() Robert Love
2009-02-27 18:56 ` [PATCH 18/24] fcoe: Correct fcoe_transports initialization vs. registration Robert Love
2009-02-27 18:56 ` [PATCH 19/24] libfc: do not change the fh_rx_id of a recevied frame Robert Love
2009-02-27 18:56 ` [PATCH 20/24] fcoe: ETH_P_8021Q is already in if_ether and fcoe is not using it anyway Robert Love
2009-02-27 18:56 ` [PATCH 21/24] fcoe: fix kfree(skb) Robert Love
2009-02-27 18:56 ` [PATCH 22/24] fcoe: Out of order tx frames was causing several check condition SCSI status Robert Love
2009-02-27 18:56 ` [PATCH 23/24] fcoe: fix handling of pending queue, prevent out of order frames (v3) Robert Love
2009-02-27 18:56 ` [PATCH 24/24] fcoe: Change fcoe receive thread nice value from 19 (lowest priority) to -20 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=20090227185435.25509.76860.stgit@fritz \
--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