RE: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on Hyper-V

From: KY Srinivasan
Date: Wed Mar 16 2016 - 20:01:36 EST




> -----Original Message-----
> From: James Bottomley [mailto:James.Bottomley@xxxxxxxxxxxxxxxxxxxxx]
> Sent: Wednesday, March 16, 2016 4:41 PM
> To: KY Srinivasan <kys@xxxxxxxxxxxxx>; Martin K. Petersen
> <martin.petersen@xxxxxxxxxx>
> Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>; gregkh@xxxxxxxxxxxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx;
> ohering@xxxxxxxx; jbottomley@xxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx;
> apw@xxxxxxxxxxxxx; vkuznets@xxxxxxxxxx; jasowang@xxxxxxxxxx;
> hare@xxxxxxx
> Subject: Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on
> Hyper-V
>
> On Wed, 2016-03-16 at 23:15 +0000, KY Srinivasan wrote:
> >
> > > -----Original Message-----
> > > From: James Bottomley
> [mailto:James.Bottomley@xxxxxxxxxxxxxxxxxxxxx
> > > ]
> > > Sent: Wednesday, March 16, 2016 4:08 PM
> > > To: Martin K. Petersen <martin.petersen@xxxxxxxxxx>; KY Srinivasan
> > > <kys@xxxxxxxxxxxxx>
> > > Cc: Christoph Hellwig <hch@xxxxxxxxxxxxx>;
> > > gregkh@xxxxxxxxxxxxxxxxxxx;
> > > linux-kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx;
> > > ohering@xxxxxxxx; jbottomley@xxxxxxxxxxxxx;
> > > linux-scsi@xxxxxxxxxxxxxxx;
> > > apw@xxxxxxxxxxxxx; vkuznets@xxxxxxxxxx; jasowang@xxxxxxxxxx;
> > > hare@xxxxxxx
> > > Subject: Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC
> > > hosts on
> > > Hyper-V
> > >
> > > On Wed, 2016-03-16 at 18:34 -0400, Martin K. Petersen wrote:
> > > > > > > > > "KY" == KY Srinivasan <kys@xxxxxxxxxxxxx> writes:
> > > >
> > > > KY> How would I get the sysfs files under fc_host if I don't use
> > > > the
> > > > FC
> > > > KY> transport. The customer scripts expect these sysfs files.
> > > >
> > > > Right, but I was interested in finding out why they need those
> > > > files. And whether an alternative to the FC transport would be a
> > > > better solution.
> > >
> > > If it's just the wwn file (or a set of other values), we might be
> > > able
> > > to separate that bit out of the FC transport class so you can use
> > > it
> > > independently ... do you have a full list of the files being used?
> >
> > Wwn files are what we can support on Hyper-V and that is what I want
> > to support (to address customer requirements).
>
> There is no wwn file. These are all the possible attributes they could
> use; which one(s) do you want:
>
> /*
> * Setup SCSI Host Attributes.
> */
> SETUP_HOST_ATTRIBUTE_RD(node_name);
> SETUP_HOST_ATTRIBUTE_RD(port_name);
> SETUP_HOST_ATTRIBUTE_RD(permanent_port_name);
> SETUP_HOST_ATTRIBUTE_RD(supported_classes);
> SETUP_HOST_ATTRIBUTE_RD(supported_fc4s);
> SETUP_HOST_ATTRIBUTE_RD(supported_speeds);
> SETUP_HOST_ATTRIBUTE_RD(maxframe_size);
> if (ft->vport_create) {
> SETUP_HOST_ATTRIBUTE_RD_NS(max_npiv_vports);
> SETUP_HOST_ATTRIBUTE_RD_NS(npiv_vports_inuse);
> }
> SETUP_HOST_ATTRIBUTE_RD(serial_number);
> SETUP_HOST_ATTRIBUTE_RD(manufacturer);
> SETUP_HOST_ATTRIBUTE_RD(model);
> SETUP_HOST_ATTRIBUTE_RD(model_description);
> SETUP_HOST_ATTRIBUTE_RD(hardware_version);
> SETUP_HOST_ATTRIBUTE_RD(driver_version);
> SETUP_HOST_ATTRIBUTE_RD(firmware_version);
> SETUP_HOST_ATTRIBUTE_RD(optionrom_version);
>
> SETUP_HOST_ATTRIBUTE_RD(port_id);
> SETUP_HOST_ATTRIBUTE_RD(port_type);
> SETUP_HOST_ATTRIBUTE_RD(port_state);
> SETUP_HOST_ATTRIBUTE_RD(active_fc4s);
> SETUP_HOST_ATTRIBUTE_RD(speed);
> SETUP_HOST_ATTRIBUTE_RD(fabric_name);
> SETUP_HOST_ATTRIBUTE_RD(symbolic_name);
> SETUP_HOST_ATTRIBUTE_RW(system_hostname);
>
> /* Transport-managed attributes */
> SETUP_PRIVATE_HOST_ATTRIBUTE_RW(dev_loss_tmo);
> SETUP_PRIVATE_HOST_ATTRIBUTE_RW(tgtid_bind_type);
> if (ft->issue_fc_host_lip)
> SETUP_PRIVATE_HOST_ATTRIBUTE_RW(issue_lip);
> if (ft->vport_create)
> SETUP_PRIVATE_HOST_ATTRIBUTE_RW(vport_create);
> if (ft->vport_delete)
> SETUP_PRIVATE_HOST_ATTRIBUTE_RW(vport_delete);
> /*
> * Setup Remote Port Attributes.
> */
> count=0;
> SETUP_RPORT_ATTRIBUTE_RD(maxframe_size);
> SETUP_RPORT_ATTRIBUTE_RD(supported_classes);
> SETUP_RPORT_ATTRIBUTE_RW(dev_loss_tmo);
> SETUP_PRIVATE_RPORT_ATTRIBUTE_RD(node_name);
> SETUP_PRIVATE_RPORT_ATTRIBUTE_RD(port_name);
> SETUP_PRIVATE_RPORT_ATTRIBUTE_RD(port_id);
> SETUP_PRIVATE_RPORT_ATTRIBUTE_RD(roles);
> SETUP_PRIVATE_RPORT_ATTRIBUTE_RD(port_state);
> SETUP_PRIVATE_RPORT_ATTRIBUTE_RD(scsi_target_id);
> SETUP_PRIVATE_RPORT_ATTRIBUTE_RW(fast_io_fail_tmo);
>
> /*
> * Setup Virtual Port Attributes.
> */
> SETUP_PRIVATE_VPORT_ATTRIBUTE_RD(vport_state);
> SETUP_PRIVATE_VPORT_ATTRIBUTE_RD(vport_last_state);
> SETUP_PRIVATE_VPORT_ATTRIBUTE_RD(node_name);
> SETUP_PRIVATE_VPORT_ATTRIBUTE_RD(port_name);
> SETUP_PRIVATE_VPORT_ATTRIBUTE_RD(roles);
> SETUP_PRIVATE_VPORT_ATTRIBUTE_RD(vport_type);
> SETUP_VPORT_ATTRIBUTE_RW(symbolic_name);
> SETUP_VPORT_ATTRIBUTE_WR(vport_delete);
> SETUP_VPORT_ATTRIBUTE_WR(vport_disable);
>
> I'm assuming it's host and rport port_id?

The only attributes I would be interested are:
1) node name
2) port name

Ideally, if this can show under /sys/class/fc_host/hostx/port_name and node_name,
it will be ideal since all user scripts can work.

Regards,

K. Y