aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMike Christie <michaelc@cs.wisc.edu>2010-09-15 17:52:29 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-10-07 18:09:36 -0400
commita5110f2983bdf931d9819f88505775b16de8b99e (patch)
tree056d52c122406c7bdfde818514d50faefcbe52a8
parent485868208ee833628d49f81b4609001749d92d56 (diff)
[SCSI] ibmvfc: prep for fc host dev loss tmo support
This removes the driver's get_host_def_dev_loss_tmo callback and just has the driver set the dev loss using the fc class fc_host_dev_loss_tmo macro like is done for other fc params. This patch also removes the module dev loss param. To override the value the fc host sysfs value being added in the fc class patch can be used instead of the driver module param. Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
-rw-r--r--drivers/scsi/ibmvscsi/ibmvfc.c15
1 files changed, 2 insertions, 13 deletions
diff --git a/drivers/scsi/ibmvscsi/ibmvfc.c b/drivers/scsi/ibmvscsi/ibmvfc.c
index b1512e9d1b9d..f033bf39690f 100644
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -50,7 +50,6 @@ static unsigned int max_lun = IBMVFC_MAX_LUN;
50static unsigned int max_targets = IBMVFC_MAX_TARGETS; 50static unsigned int max_targets = IBMVFC_MAX_TARGETS;
51static unsigned int max_requests = IBMVFC_MAX_REQUESTS_DEFAULT; 51static unsigned int max_requests = IBMVFC_MAX_REQUESTS_DEFAULT;
52static unsigned int disc_threads = IBMVFC_MAX_DISC_THREADS; 52static unsigned int disc_threads = IBMVFC_MAX_DISC_THREADS;
53static unsigned int dev_loss_tmo = IBMVFC_DEV_LOSS_TMO;
54static unsigned int ibmvfc_debug = IBMVFC_DEBUG; 53static unsigned int ibmvfc_debug = IBMVFC_DEBUG;
55static unsigned int log_level = IBMVFC_DEFAULT_LOG_LEVEL; 54static unsigned int log_level = IBMVFC_DEFAULT_LOG_LEVEL;
56static LIST_HEAD(ibmvfc_head); 55static LIST_HEAD(ibmvfc_head);
@@ -84,11 +83,6 @@ MODULE_PARM_DESC(disc_threads, "Number of device discovery threads to use. "
84module_param_named(debug, ibmvfc_debug, uint, S_IRUGO | S_IWUSR); 83module_param_named(debug, ibmvfc_debug, uint, S_IRUGO | S_IWUSR);
85MODULE_PARM_DESC(debug, "Enable driver debug information. " 84MODULE_PARM_DESC(debug, "Enable driver debug information. "
86 "[Default=" __stringify(IBMVFC_DEBUG) "]"); 85 "[Default=" __stringify(IBMVFC_DEBUG) "]");
87module_param_named(dev_loss_tmo, dev_loss_tmo, uint, S_IRUGO | S_IWUSR);
88MODULE_PARM_DESC(dev_loss_tmo, "Maximum number of seconds that the FC "
89 "transport should insulate the loss of a remote port. Once this "
90 "value is exceeded, the scsi target is removed. "
91 "[Default=" __stringify(IBMVFC_DEV_LOSS_TMO) "]");
92module_param_named(log_level, log_level, uint, 0); 86module_param_named(log_level, log_level, uint, 0);
93MODULE_PARM_DESC(log_level, "Set to 0 - 4 for increasing verbosity of device driver. " 87MODULE_PARM_DESC(log_level, "Set to 0 - 4 for increasing verbosity of device driver. "
94 "[Default=" __stringify(IBMVFC_DEFAULT_LOG_LEVEL) "]"); 88 "[Default=" __stringify(IBMVFC_DEFAULT_LOG_LEVEL) "]");
@@ -1030,11 +1024,6 @@ static void ibmvfc_get_host_port_state(struct Scsi_Host *shost)
1030 spin_unlock_irqrestore(shost->host_lock, flags); 1024 spin_unlock_irqrestore(shost->host_lock, flags);
1031} 1025}
1032 1026
1033static void ibmvfc_set_host_def_dev_loss_tmo(struct Scsi_Host *shost)
1034{
1035 fc_host_def_dev_loss_tmo(shost) = dev_loss_tmo;
1036}
1037
1038/** 1027/**
1039 * ibmvfc_set_rport_dev_loss_tmo - Set rport's device loss timeout 1028 * ibmvfc_set_rport_dev_loss_tmo - Set rport's device loss timeout
1040 * @rport: rport struct 1029 * @rport: rport struct
@@ -4772,6 +4761,8 @@ static int ibmvfc_probe(struct vio_dev *vdev, const struct vio_device_id *id)
4772 if ((rc = scsi_add_host(shost, dev))) 4761 if ((rc = scsi_add_host(shost, dev)))
4773 goto release_event_pool; 4762 goto release_event_pool;
4774 4763
4764 fc_host_dev_loss_tmo(shost) = IBMVFC_DEV_LOSS_TMO;
4765
4775 if ((rc = ibmvfc_create_trace_file(&shost->shost_dev.kobj, 4766 if ((rc = ibmvfc_create_trace_file(&shost->shost_dev.kobj,
4776 &ibmvfc_trace_attr))) { 4767 &ibmvfc_trace_attr))) {
4777 dev_err(dev, "Failed to create trace file. rc=%d\n", rc); 4768 dev_err(dev, "Failed to create trace file. rc=%d\n", rc);
@@ -4917,8 +4908,6 @@ static struct fc_function_template ibmvfc_transport_functions = {
4917 .get_host_speed = ibmvfc_get_host_speed, 4908 .get_host_speed = ibmvfc_get_host_speed,
4918 .show_host_speed = 1, 4909 .show_host_speed = 1,
4919 4910
4920 .get_host_def_dev_loss_tmo = ibmvfc_set_host_def_dev_loss_tmo,
4921
4922 .issue_fc_host_lip = ibmvfc_issue_fc_host_lip, 4911 .issue_fc_host_lip = ibmvfc_issue_fc_host_lip,
4923 .terminate_rport_io = ibmvfc_terminate_rport_io, 4912 .terminate_rport_io = ibmvfc_terminate_rport_io,
4924 4913