public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* FC transport: Calling fc_remote_port_add for online port
@ 2009-06-26 15:23 Christof Schmitt
  2009-06-26 16:41 ` James Smart
  0 siblings, 1 reply; 3+ messages in thread
From: Christof Schmitt @ 2009-06-26 15:23 UTC (permalink / raw)
  To: linux-scsi

When a LLD calls fc_remote_port_add for a port that is already in the
state FC_PORTSTATE_ONLINE, the FC transport class will create a new
fc_rport struct and sysfs will show two entries for the same port.

How should this be handled? Does the LLD have to track the state and
only call fc_remote_port add for new ports and ports in the state
FC_PORTSTATE_BLOCKED or FC_PORTTYPE_NOTPRESENT?

Or should the FC transport class allow that a LLD can call
fc_remote_port_add at any time? The patch does this change in the FC
transport class.

Thoughts, comments?

--
Christof Schmitt

---
 drivers/scsi/scsi_transport_fc.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

--- a/drivers/scsi/scsi_transport_fc.c	2009-06-23 14:41:20.000000000 +0200
+++ b/drivers/scsi/scsi_transport_fc.c	2009-06-23 15:22:21.000000000 +0200
@@ -2580,9 +2580,7 @@ fc_remote_port_add(struct Scsi_Host *sho
 	spin_lock_irqsave(shost->host_lock, flags);
 
 	list_for_each_entry(rport, &fc_host->rports, peers) {
-
-		if ((rport->port_state == FC_PORTSTATE_BLOCKED) &&
-			(rport->channel == channel)) {
+		if (rport->channel == channel) {
 
 			switch (fc_host->tgtid_bind_type) {
 			case FC_TGTID_BIND_BY_WWPN:

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-06-29 13:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-06-26 15:23 FC transport: Calling fc_remote_port_add for online port Christof Schmitt
2009-06-26 16:41 ` James Smart
2009-06-29 13:52   ` Christof Schmitt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox