Message ID | 1457819568-6586-1-git-send-email-kys@microsoft.com (mailing list archive) |
---|---|
State | Changes Requested, archived |
Headers | show |
On Sat, Mar 12, 2016 at 01:52:48PM -0800, K. Y. Srinivasan wrote: > The default user scan function associated with FC (fc_user_scan) > is not suitable for FC hosts on Hyper-V since we don't have > an rport associated with FC host on Hyper-V . Set it to NULL so we can > support manual scan of FC targets on Hyper-V. This isn't really how the FC transport class in intended to work, but neither is the eh_timed_out (which I haven't seen in my tree yet). It sounds like storvsc simply shouldn't attach to the FC transport if it doesn't actually look like a FC HBA. -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: Christoph Hellwig [mailto:hch@infradead.org] > Sent: Tuesday, March 15, 2016 6:40 AM > To: KY Srinivasan <kys@microsoft.com> > Cc: gregkh@linuxfoundation.org; linux-kernel@vger.kernel.org; > devel@linuxdriverproject.org; ohering@suse.com; > jbottomley@parallels.com; hch@infradead.org; linux-scsi@vger.kernel.org; > apw@canonical.com; vkuznets@redhat.com; jasowang@redhat.com; > martin.petersen@oracle.com; hare@suse.de > Subject: Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on > Hyper-V > > On Sat, Mar 12, 2016 at 01:52:48PM -0800, K. Y. Srinivasan wrote: > > The default user scan function associated with FC (fc_user_scan) > > is not suitable for FC hosts on Hyper-V since we don't have > > an rport associated with FC host on Hyper-V . Set it to NULL so we can > > support manual scan of FC targets on Hyper-V. > > This isn't really how the FC transport class in intended to work, but > neither is the eh_timed_out (which I haven't seen in my tree yet). > > It sounds like storvsc simply shouldn't attach to the FC transport > if it doesn't actually look like a FC HBA. Till recently I had not. However, we do support publishing wwn in the guest and some customers wanted this. That is the reason I am attaching FC transport and working through the issues. With this change, I now have wwn names published in the guest and I can also issue manual scan. Regards, K. Y -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>> "KY" == KY Srinivasan <kys@microsoft.com> writes:
KY> Till recently I had not. However, we do support publishing wwn in
KY> the guest and some customers wanted this. That is the reason I am
KY> attaching FC transport and working through the issues. With this
KY> change, I now have wwn names published in the guest and I can also
KY> issue manual scan.
Why does it have to look like FC? Will a device identification VPD page
not do the trick?
> -----Original Message----- > From: Martin K. Petersen [mailto:martin.petersen@oracle.com] > Sent: Tuesday, March 15, 2016 2:25 PM > To: KY Srinivasan <kys@microsoft.com> > Cc: Christoph Hellwig <hch@infradead.org>; gregkh@linuxfoundation.org; > linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; > ohering@suse.com; jbottomley@parallels.com; linux-scsi@vger.kernel.org; > apw@canonical.com; vkuznets@redhat.com; jasowang@redhat.com; > martin.petersen@oracle.com; hare@suse.de > Subject: Re: [PATCH 1/1] scsi: storvsc: Support manual scan of FC hosts on > Hyper-V > > >>>>> "KY" == KY Srinivasan <kys@microsoft.com> writes: > > KY> Till recently I had not. However, we do support publishing wwn in > KY> the guest and some customers wanted this. That is the reason I am > KY> attaching FC transport and working through the issues. With this > KY> change, I now have wwn names published in the guest and I can also > KY> issue manual scan. > > Why does it have to look like FC? Will a device identification VPD page > not do the trick? How would I get the sysfs files under fc_host if I don't use the FC transport. The customer scripts expect these sysfs files. Regards, K. Y > > -- > Martin K. Petersen Oracle Linux Engineering -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
>>>>> "KY" == KY Srinivasan <kys@microsoft.com> 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.
On Wed, 2016-03-16 at 18:34 -0400, Martin K. Petersen wrote: > > > > > > "KY" == KY Srinivasan <kys@microsoft.com> 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? Thanks, James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com] > Sent: Wednesday, March 16, 2016 4:08 PM > To: Martin K. Petersen <martin.petersen@oracle.com>; KY Srinivasan > <kys@microsoft.com> > Cc: Christoph Hellwig <hch@infradead.org>; gregkh@linuxfoundation.org; > linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; > ohering@suse.com; jbottomley@parallels.com; linux-scsi@vger.kernel.org; > apw@canonical.com; vkuznets@redhat.com; jasowang@redhat.com; > hare@suse.de > 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@microsoft.com> 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). Regards, K. Y
On Wed, 2016-03-16 at 23:15 +0000, KY Srinivasan wrote: > > > -----Original Message----- > > From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com > > ] > > Sent: Wednesday, March 16, 2016 4:08 PM > > To: Martin K. Petersen <martin.petersen@oracle.com>; KY Srinivasan > > <kys@microsoft.com> > > Cc: Christoph Hellwig <hch@infradead.org>; > > gregkh@linuxfoundation.org; > > linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; > > ohering@suse.com; jbottomley@parallels.com; > > linux-scsi@vger.kernel.org; > > apw@canonical.com; vkuznets@redhat.com; jasowang@redhat.com; > > hare@suse.de > > 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@microsoft.com> 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? James -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
> -----Original Message----- > From: James Bottomley [mailto:James.Bottomley@HansenPartnership.com] > Sent: Wednesday, March 16, 2016 4:41 PM > To: KY Srinivasan <kys@microsoft.com>; Martin K. Petersen > <martin.petersen@oracle.com> > Cc: Christoph Hellwig <hch@infradead.org>; gregkh@linuxfoundation.org; > linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; > ohering@suse.com; jbottomley@parallels.com; linux-scsi@vger.kernel.org; > apw@canonical.com; vkuznets@redhat.com; jasowang@redhat.com; > hare@suse.de > 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@HansenPartnership.com > > > ] > > > Sent: Wednesday, March 16, 2016 4:08 PM > > > To: Martin K. Petersen <martin.petersen@oracle.com>; KY Srinivasan > > > <kys@microsoft.com> > > > Cc: Christoph Hellwig <hch@infradead.org>; > > > gregkh@linuxfoundation.org; > > > linux-kernel@vger.kernel.org; devel@linuxdriverproject.org; > > > ohering@suse.com; jbottomley@parallels.com; > > > linux-scsi@vger.kernel.org; > > > apw@canonical.com; vkuznets@redhat.com; jasowang@redhat.com; > > > hare@suse.de > > > 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@microsoft.com> 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
diff --git a/drivers/scsi/storvsc_drv.c b/drivers/scsi/storvsc_drv.c index 132b168..8aec590 100644 --- a/drivers/scsi/storvsc_drv.c +++ b/drivers/scsi/storvsc_drv.c @@ -1776,6 +1776,12 @@ static int __init storvsc_drv_init(void) * Install Hyper-V specific timeout handler. */ fc_transport_template->eh_timed_out = storvsc_eh_timed_out; + /* + * The default user scan function associated with FC (fc_user_scan) + * is not suitable for FC hosts on Hyper-V. Set it to NULL so we can + * support manual scan of FC targets on Hyper-V. + */ + fc_transport_template->user_scan = NULL; #endif ret = vmbus_driver_register(&storvsc_drv);