diff options
author | Christof Schmitt <christof.schmitt@de.ibm.com> | 2007-08-28 03:31:21 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.localdomain> | 2007-10-12 14:46:29 -0400 |
commit | 03f002f778e58e9056e8e9a22952c5c6f4d76269 (patch) | |
tree | e58eba51ee84b6efd27ae633696f51c40cbec09e | |
parent | 6b76a72141c57260adaf07977f79760ddb8618ee (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.c | 4 | ||||
-rw-r--r-- | include/scsi/scsi_transport_fc.h | 2 |
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 | ||