Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b8ef3204 authored by Mike Christie's avatar Mike Christie Committed by James Bottomley
Browse files

[SCSI] fc class: add fc host default default dev loss setting



This patch adds a fc_host setting to store the
default dev_loss_tmo. It is used if the driver
has a callack to get the value from the LLD. If
the callback is not set, then we use the fc class
module default value.

Signed-off-by: default avatarMike Christie <michaelc@cs.wisc.edu>
Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
parent 2bfc96a1
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2525,6 +2525,10 @@ fc_rport_create(struct Scsi_Host *shost, int channel,

	rport->maxframe_size = -1;
	rport->supported_classes = FC_COS_UNSPECIFIED;
	if (fci->f->get_host_def_dev_loss_tmo) {
		fci->f->get_host_def_dev_loss_tmo(shost);
		rport->dev_loss_tmo = fc_host_def_dev_loss_tmo(shost);
	} else
		rport->dev_loss_tmo = fc_dev_loss_tmo;
	memcpy(&rport->node_name, &ids->node_name, sizeof(rport->node_name));
	memcpy(&rport->port_name, &ids->port_name, sizeof(rport->port_name));
+4 −0
Original line number Diff line number Diff line
@@ -496,6 +496,7 @@ struct fc_host_attrs {
	u64 fabric_name;
	char symbolic_name[FC_SYMBOLIC_NAME_SIZE];
	char system_hostname[FC_SYMBOLIC_NAME_SIZE];
	u32 def_dev_loss_tmo;

	/* Private (Transport-managed) Attributes */
	enum fc_tgtid_binding_type  tgtid_bind_type;
@@ -580,6 +581,8 @@ struct fc_host_attrs {
	(((struct fc_host_attrs *)(x)->shost_data)->devloss_work_q_name)
#define fc_host_devloss_work_q(x) \
	(((struct fc_host_attrs *)(x)->shost_data)->devloss_work_q)
#define fc_host_def_dev_loss_tmo(x) \
	(((struct fc_host_attrs *)(x)->shost_data)->def_dev_loss_tmo)


struct fc_bsg_buffer {
@@ -640,6 +643,7 @@ struct fc_function_template {
	void	(*get_host_fabric_name)(struct Scsi_Host *);
	void	(*get_host_symbolic_name)(struct Scsi_Host *);
	void	(*set_host_system_hostname)(struct Scsi_Host *);
	void	(*get_host_def_dev_loss_tmo)(struct Scsi_Host *);

	struct fc_host_statistics * (*get_fc_host_stats)(struct Scsi_Host *);
	void	(*reset_fc_host_stats)(struct Scsi_Host *);