Re: [PATCH 4/5] fnic: do not reset dev_loss_tmo in slave callout

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 8/6/10 1:02 AM, michaelc@xxxxxxxxxxx wrote:
From: Mike Christie<michaelc@xxxxxxxxxxx>

This fixes a bug where the driver was resetting the
rport dev_loss_tmo when devices were added by adding
support for the get_host_def_dev_loss_tmo callout.

fnic devloss timeout isn't settable on the host.
It's only configurable from network configuration.
So, I think this patch is unnecessary.

Note that we don't have a set method, so the
/sys file will be read-only.

Patch has only been compile tested.

Signed-off-by: Mike Christie<michaelc@xxxxxxxxxxx>
---
  drivers/scsi/fnic/fnic_main.c |   14 ++++++++++----
  1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/drivers/scsi/fnic/fnic_main.c b/drivers/scsi/fnic/fnic_main.c
index 9eb7a9e..df91a61 100644
--- a/drivers/scsi/fnic/fnic_main.c
+++ b/drivers/scsi/fnic/fnic_main.c
@@ -80,8 +80,6 @@ static struct libfc_function_template fnic_transport_template = {
  static int fnic_slave_alloc(struct scsi_device *sdev)
  {
  	struct fc_rport *rport = starget_to_rport(scsi_target(sdev));
-	struct fc_lport *lp = shost_priv(sdev->host);
-	struct fnic *fnic = lport_priv(lp);

  	sdev->tagged_supported = 1;

@@ -89,8 +87,6 @@ static int fnic_slave_alloc(struct scsi_device *sdev)
  		return -ENXIO;

  	scsi_activate_tcq(sdev, FNIC_DFLT_QUEUE_DEPTH);
-	rport->dev_loss_tmo = fnic->config.port_down_timeout / 1000;
-
  	return 0;
  }

@@ -113,6 +109,15 @@ static struct scsi_host_template fnic_host_template = {
  	.shost_attrs = fnic_attrs,
  };

+static void
+fnic_get_host_def_loss_tmo(struct Scsi_Host *shost)
+{
+	struct fc_lport *lp = shost_priv(shost);
+	struct fnic *fnic = lport_priv(lp);
+
+	fc_host_def_dev_loss_tmo(shost) = fnic->config.port_down_timeout / 1000;
+}
+
  static void fnic_get_host_speed(struct Scsi_Host *shost);
  static struct scsi_transport_template *fnic_fc_transport;
  static struct fc_host_statistics *fnic_get_stats(struct Scsi_Host *);
@@ -142,6 +147,7 @@ static struct fc_function_template fnic_fc_functions = {
  	.show_rport_dev_loss_tmo = 1,
  	.issue_fc_host_lip = fnic_reset,
  	.get_fc_host_stats = fnic_get_stats,
+	.get_host_def_dev_loss_tmo = fnic_get_host_def_loss_tmo,
  	.dd_fcrport_size = sizeof(struct fc_rport_libfc_priv),
  	.terminate_rport_io = fnic_terminate_rport_io,
  	.bsg_request = fc_lport_bsg_request,
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux