aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristof Schmitt <christof.schmitt@de.ibm.com>2007-08-28 03:31:21 -0400
committerJames Bottomley <jejb@mulgrave.localdomain>2007-10-12 14:46:29 -0400
commit03f002f778e58e9056e8e9a22952c5c6f4d76269 (patch)
treee58eba51ee84b6efd27ae633696f51c40cbec09e
parent6b76a72141c57260adaf07977f79760ddb8618ee (diff)
[SCSI] scsi_transport_fc: Introduce disable_target_scan flag
This change has already been discussed on linux-scsi: http://marc.info/?t=118771096400003 http://marc.info/?t=118760913100005 Signed-off-by: Christof Schmitt <christof.schmitt@de.ibm.com> Signed-off-by: Swen Schillig <swen@vnet.ibm.com> Acked-by: James Smart <James.Smart@Emulex.Com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
-rw-r--r--drivers/scsi/scsi_transport_fc.c4
-rw-r--r--include/scsi/scsi_transport_fc.h2
2 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/scsi_transport_fc.c b/drivers/scsi/scsi_transport_fc.c
index 47057254850d..dd97f2652508 100644
--- a/drivers/scsi/scsi_transport_fc.c
+++ b/drivers/scsi/scsi_transport_fc.c
@@ -2988,10 +2988,12 @@ fc_scsi_scan_rport(struct work_struct *work)
2988 struct fc_rport *rport = 2988 struct fc_rport *rport =
2989 container_of(work, struct fc_rport, scan_work); 2989 container_of(work, struct fc_rport, scan_work);
2990 struct Scsi_Host *shost = rport_to_shost(rport); 2990 struct Scsi_Host *shost = rport_to_shost(rport);
2991 struct fc_internal *i = to_fc_internal(shost->transportt);
2991 unsigned long flags; 2992 unsigned long flags;
2992 2993
2993 if ((rport->port_state == FC_PORTSTATE_ONLINE) && 2994 if ((rport->port_state == FC_PORTSTATE_ONLINE) &&
2994 (rport->roles & FC_PORT_ROLE_FCP_TARGET)) { 2995 (rport->roles & FC_PORT_ROLE_FCP_TARGET) &&
2996 !(i->f->disable_target_scan)) {
2995 scsi_scan_target(&rport->dev, rport->channel, 2997 scsi_scan_target(&rport->dev, rport->channel,
2996 rport->scsi_target_id, SCAN_WILD_CARD, 1); 2998 rport->scsi_target_id, SCAN_WILD_CARD, 1);
2997 } 2999 }
diff --git a/include/scsi/scsi_transport_fc.h b/include/scsi/scsi_transport_fc.h
index a0d80bcaa93d..616a96a3ab81 100644
--- a/include/scsi/scsi_transport_fc.h
+++ b/include/scsi/scsi_transport_fc.h
@@ -632,6 +632,8 @@ struct fc_function_template {
632 unsigned long show_host_fabric_name:1; 632 unsigned long show_host_fabric_name:1;
633 unsigned long show_host_symbolic_name:1; 633 unsigned long show_host_symbolic_name:1;
634 unsigned long show_host_system_hostname:1; 634 unsigned long show_host_system_hostname:1;
635
636 unsigned long disable_target_scan:1;
635}; 637};
636 638
637 639