2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-31 15:51:50 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:34 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-22 17:30:05 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:02 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:49:27 -08:00
|
|
|
|
2012-01-22 17:30:05 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-07-29 17:04:22 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:46:51 -08:00
|
|
|
|
2009-11-03 11:46:56 -08:00
|
|
|
|
2009-11-03 11:47:01 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:49:27 -08:00
|
|
|
|
2012-01-22 17:30:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:20:08 -07:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2010-07-20 15:20:08 -07:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-25 14:02:59 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-08-25 14:01:12 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-25 14:00:50 -07:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-08-25 14:00:50 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-25 14:01:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] libfc: Fix remote port restart problem
This patch somewhat combines two fixes to remote port handing in libfc.
The first problem was that rport work could be queued on a deleted
and freed rport. This is handled by not resetting rdata->event
ton NONE if the rdata is about to be deleted.
However, that fix led to the second problem, described by
Bhanu Gollapudi, as follows:
> Here is the sequence of events. T1 is first LOGO receive thread, T2 is
> fc_rport_work() scheduled by T1 and T3 is second LOGO receive thread and
> T4 is fc_rport_work scheduled by T3.
>
> 1. (T1)Received 1st LOGO in state Ready
> 2. (T1)Delete port & enter to RESTART state.
> 3. (T1)schdule event_work, since event is RPORT_EV_NONE.
> 4. (T1)set event = RPORT_EV_LOGO
> 5. (T1)Enter RESTART state as disc_id is set.
> 6. (T2)remember to PLOGI, and set event = RPORT_EV_NONE
> 6. (T3)Received 2nd LOGO
> 7. (T3)Delete Port & enter to RESTART state.
> 8. (T3)schedule event_work, since event is RPORT_EV_NONE.
> 9. (T3)Enter RESTART state as disc_id is set.
> 9. (T3)set event = RPORT_EV_LOGO
> 10.(T2)work restart, enter PLOGI state and issues PLOGI
> 11.(T4)Since state is not RESTART anymore, restart is not set, and the
> event is not reset to RPORT_EV_NONE. (current event is RPORT_EV_LOGO).
> 12. Now, PLOGI succeeds and fc_rport_enter_ready() will not schedule
> event_work, and hence the rport will never be created, eventually losing
> the target after dev_loss_tmo.
So, the problem here is that we were tracking the desire for
the rport be restarted by state RESTART, which was otherwise
equivalent to DELETE. A contributing factor is that we dropped
the lock between steps 6 and 10 in thread T2, which allows the
state to change, and we didn't completely re-evaluate then.
This is hopefully corrected by the following minor redesign:
Simplify the rport restart logic by making the decision to
restart after deleting the transport rport. That decision
is based on a new STARTED flag that indicates fc_rport_login()
has been called and fc_rport_logoff() has not been called
since then. This replaces the need for the RESTART state.
Only restart if the rdata is still in DELETED state
and only if it still has the STARTED flag set.
Also now, since we clear the event code much later in the
work thread, allow for the possibility that the rport may
have become READY again via incoming PLOGI, and if so,
queue another event to handle that.
In the problem scenario, the second LOGO received will
cause the LOGO event to occur again.
Reported-by: Bhanu Gollapudi <bprakash@broadcom.com>
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-06-11 16:44:51 -07:00
|
|
|
|
2011-01-28 16:05:27 -08:00
|
|
|
|
2009-08-25 14:01:18 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] libfc: Fix remote port restart problem
This patch somewhat combines two fixes to remote port handing in libfc.
The first problem was that rport work could be queued on a deleted
and freed rport. This is handled by not resetting rdata->event
ton NONE if the rdata is about to be deleted.
However, that fix led to the second problem, described by
Bhanu Gollapudi, as follows:
> Here is the sequence of events. T1 is first LOGO receive thread, T2 is
> fc_rport_work() scheduled by T1 and T3 is second LOGO receive thread and
> T4 is fc_rport_work scheduled by T3.
>
> 1. (T1)Received 1st LOGO in state Ready
> 2. (T1)Delete port & enter to RESTART state.
> 3. (T1)schdule event_work, since event is RPORT_EV_NONE.
> 4. (T1)set event = RPORT_EV_LOGO
> 5. (T1)Enter RESTART state as disc_id is set.
> 6. (T2)remember to PLOGI, and set event = RPORT_EV_NONE
> 6. (T3)Received 2nd LOGO
> 7. (T3)Delete Port & enter to RESTART state.
> 8. (T3)schedule event_work, since event is RPORT_EV_NONE.
> 9. (T3)Enter RESTART state as disc_id is set.
> 9. (T3)set event = RPORT_EV_LOGO
> 10.(T2)work restart, enter PLOGI state and issues PLOGI
> 11.(T4)Since state is not RESTART anymore, restart is not set, and the
> event is not reset to RPORT_EV_NONE. (current event is RPORT_EV_LOGO).
> 12. Now, PLOGI succeeds and fc_rport_enter_ready() will not schedule
> event_work, and hence the rport will never be created, eventually losing
> the target after dev_loss_tmo.
So, the problem here is that we were tracking the desire for
the rport be restarted by state RESTART, which was otherwise
equivalent to DELETE. A contributing factor is that we dropped
the lock between steps 6 and 10 in thread T2, which allows the
state to change, and we didn't completely re-evaluate then.
This is hopefully corrected by the following minor redesign:
Simplify the rport restart logic by making the decision to
restart after deleting the transport rport. That decision
is based on a new STARTED flag that indicates fc_rport_login()
has been called and fc_rport_logoff() has not been called
since then. This replaces the need for the RESTART state.
Only restart if the rdata is still in DELETED state
and only if it still has the STARTED flag set.
Also now, since we clear the event code much later in the
work thread, allow for the possibility that the rport may
have become READY again via incoming PLOGI, and if so,
queue another event to handle that.
In the problem scenario, the second LOGO received will
cause the LOGO event to occur again.
Reported-by: Bhanu Gollapudi <bprakash@broadcom.com>
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-06-11 16:44:51 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-11 16:44:57 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:02 -08:00
|
|
|
|
2010-07-20 15:19:37 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-08-25 14:01:18 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-08-25 14:01:01 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-06-11 16:44:57 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:02 -08:00
|
|
|
|
2010-07-20 15:19:37 -07:00
|
|
|
|
2011-01-28 16:05:27 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2012-05-25 10:26:43 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-25 10:26:48 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-11-30 16:20:18 -08:00
|
|
|
|
|
|
|
|
|
2009-11-20 14:54:52 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2012-05-25 10:26:43 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-25 10:26:48 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-11-30 16:20:18 -08:00
|
|
|
|
|
|
|
|
|
2009-11-20 14:54:52 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-03-30 22:57:33 -03:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2011-09-27 21:37:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:37:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:37:57 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:37:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:37:57 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2011-09-27 21:37:57 -07:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-07-29 17:05:00 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[SCSI] libfc: track FIP exchanges
When an exchange is received with a FIP encapsulation, we need
to know that the response must be sent via FIP and what the original
ELS opcode was. This becomes important for VN2VN mode, where we may
receive FLOGI or LOGO from several peer VN_ports, and the LS_ACC or
LS_RJT must be sent FIP-encapsulated with the correct sub-type.
Add a field to the struct fc_frame, fr_encaps, to indicate the
encapsulation values. That term is chosen to be neutral and
LLD-agnostic in case non-FCoE/FIP LLDs might find it useful.
The frame fr_encaps is transferred from the ingress frame to the
exchange by fc_exch_recv_req(), and back to the outgoing frame
by fc_seq_send().
This is taking the last byte in the skb->cb array. If needed,
we could combine the info in sof, eof, flags, and encaps
together into one field, but it'd be better to do that if
and when its needed.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-07-20 15:20:14 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-08-17 20:34:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:38:02 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:38:02 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:38:02 -07:00
|
|
|
|
2013-08-17 20:34:43 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-09-27 21:38:02 -07:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 14:07:21 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2009-02-27 14:07:21 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2011-06-20 16:59:05 -07:00
|
|
|
|
|
|
|
|
|
2012-05-25 10:26:43 -07:00
|
|
|
|
2011-06-20 16:59:05 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-20 14:55:19 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2011-03-30 22:57:33 -03:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2010-07-20 15:21:12 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2011-01-28 16:04:08 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:21:07 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:34 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2010-07-20 15:21:12 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:49:05 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:18 -08:00
|
|
|
|
2009-08-25 14:02:59 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:18 -08:00
|
|
|
|
2009-08-25 14:02:59 -07:00
|
|
|
|
2009-02-27 10:55:18 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-08-25 14:00:50 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-08-25 14:00:50 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2011-03-30 22:57:33 -03:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2010-07-20 15:21:12 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-08-25 14:00:50 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-08-25 14:01:01 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:05:27 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2011-03-30 22:57:33 -03:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2010-07-20 15:21:12 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-10-08 17:12:36 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:19:53 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:19:53 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:18 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-22 17:30:05 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-25 10:26:43 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2010-05-07 15:18:41 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:19:42 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:18 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2011-01-28 16:04:13 -08:00
|
|
|
|
2011-01-28 16:04:18 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-01-22 17:30:05 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-05-25 10:26:43 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-07 15:18:41 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:20:03 -07:00
|
|
|
|
2012-01-22 17:30:05 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:19:42 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:13 -08:00
|
|
|
|
2011-01-28 16:04:18 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2011-01-28 16:04:02 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:45 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-31 15:51:50 -07:00
|
|
|
|
2012-05-25 10:26:43 -07:00
|
|
|
|
|
|
|
|
|
2009-03-31 15:51:50 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-31 15:51:50 -07:00
|
|
|
|
2012-05-25 10:26:43 -07:00
|
|
|
|
2009-03-31 15:51:50 -07:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-17 11:42:29 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2009-03-17 11:42:29 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-03-17 11:42:29 -07:00
|
|
|
|
2009-11-03 11:46:08 -08:00
|
|
|
|
2009-03-17 11:42:29 -07:00
|
|
|
|
2009-11-03 11:46:08 -08:00
|
|
|
|
2009-03-17 11:42:29 -07:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:46:08 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:46:14 -08:00
|
|
|
|
2009-11-03 11:46:08 -08:00
|
|
|
|
2009-03-17 11:42:29 -07:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:45 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:46:19 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:46:19 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:20:03 -07:00
|
|
|
|
2011-01-28 16:04:18 -08:00
|
|
|
|
2009-11-03 11:47:34 -08:00
|
|
|
|
2009-02-27 10:55:45 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:45 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2013-03-25 11:00:28 -07:00
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2010-07-20 15:19:53 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:45 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2010-11-16 02:10:29 -05:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
2009-02-27 10:55:45 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:46:29 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2009-11-03 11:46:29 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-07-20 15:21:01 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-02-27 10:55:45 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2012-05-25 10:26:54 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2009-07-29 17:05:00 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
2009-11-03 11:46:14 -08:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
[SCSI] fcoe, fnic, libfc: modifies current code paths to use EM anchor list
Modifies current code to use EM anchor list in EM allocation, EM free,
EM reset, exch allocation and exch lookup code paths.
1. Modifies fc_exch_mgr_alloc to accept EM match function and then
have allocated EM added to the lport using fc_exch_mgr_add API
while also updating EM kref for newly added EM.
2. Updates fc_exch_mgr_free API to accept only lport pointer instead
EM and then have this API free all EMs of the lport from EM anchor
list.
3. Removes single lport pointer link from the EM, which was used in
associating lport pointer in newly allocated exchange. Instead have
lport pointer passed along new exchange allocation call path and
then store passed lport pointer in newly allocated exchange, this
will allow a single EM instance to be used across more than one
lport and used in EM reset to reset only lport specific exchanges.
4. Modifies fc_exch_mgr_reset to reset all EMs from the EM anchor list
of the lport, adds additional exch lport pointer (ep->lp) check for
shared EM case to reset exchange specific to a lport requested reset.
5. Updates exch allocation API fc_exch_alloc to use EM anchor list and
its anchor match func pointer. The fc_exch_alloc will walk the list
of EMs until it finds a match, a match will be either null match
func pointer or call to match function returning true value.
6. Updates fc_exch_recv to accept incoming frame on local port using
only lport pointer and frame pointer without specifying EM instance
of incoming frame. Instead modified fc_exch_recv to locate EM for the
incoming frame by matching xid of incoming frame against a EM xid range.
This change was required to use EM list in libfc Rx path and after this
change the lport fc_exch_mgr pointer emp is not needed anymore, so
removed emp pointer.
7. Updates fnic for removed lport emp pointer and above modified libfc APIs
fc_exch_recv, fc_exch_mgr_alloc and fc_exch_mgr_free.
8. Removes exch_get and exch_put from libfc_function_template as these
are no longer needed with EM anchor list and its match function use.
Also removes its default function fc_exch_get.
A defect this patch introduced regarding the libfc initialization order in
the fnic driver was fixed by Joe Eykholt <jeykholt@cisco.com>.
Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2009-07-29 17:05:10 -07:00
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
2009-02-27 10:54:35 -08:00
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2009-11-03 11:47:39 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-12-09 15:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|