private void ScanForSRs(SR.SRTypes type) { bool succeeded; List<string> srs = new List<string>(); switch (type) { case SR.SRTypes.lvmohba : List<FibreChannelDevice> devices = new List<FibreChannelDevice>(); succeeded = FiberChannelScan(devices); if (succeeded) { foreach (FibreChannelDevice device in devices) { string deviceId = string.IsNullOrEmpty(device.SCSIid) ? device.Path : device.SCSIid; succeeded = succeeded && ScanDeviceForSRs(SR.SRTypes.lvmohba, deviceId, GetFCDeviceConfig(device)); srs.AddRange(ScannedDevices[deviceId].SRList.Select(srInfo => srInfo.Name)); } } ShowScanResult(srs, succeeded); break; case SR.SRTypes.lvmoiscsi : IscsiDeviceConfigDialog dialog = new IscsiDeviceConfigDialog(Connection); if (dialog.ShowDialog(this) == DialogResult.OK) { Dictionary<String, String> dconf = dialog.DeviceConfig; string deviceId = string.IsNullOrEmpty(dconf[SCSIID]) ? dconf[LUNSERIAL] : dconf[SCSIID]; succeeded = ScanDeviceForSRs(SR.SRTypes.lvmoiscsi, deviceId, dconf); if (succeeded) srs.AddRange(ScannedDevices[deviceId].SRList.Select(srInfo => srInfo.Name)); ShowScanResult(srs, succeeded); } break; } }
private void ScanForSRs(SR.SRTypes type) { var srs = new List<SR.SRInfo>(); switch (type) { case SR.SRTypes.lvmohba: var devices = FiberChannelScan(); if (devices != null && devices.Count > 0) { foreach (FibreChannelDevice device in devices) { string deviceId = string.IsNullOrEmpty(device.SCSIid) ? device.Path : device.SCSIid; var metadataSrs = ScanDeviceForSRs(SR.SRTypes.lvmohba, deviceId, GetFCDeviceConfig(device)); if (metadataSrs != null && metadataSrs.Count > 0) srs.AddRange(metadataSrs); } } AddScanResultsToDataGridView(srs, SR.SRTypes.lvmohba); break; case SR.SRTypes.lvmoiscsi: using (var dialog = new IscsiDeviceConfigDialog(Connection)) { if (dialog.ShowDialog(this) == DialogResult.OK) { Dictionary<String, String> dconf = dialog.DeviceConfig; string deviceId = string.IsNullOrEmpty(dconf[SCSIID]) ? dconf[LUNSERIAL] : dconf[SCSIID]; var metadataSrs = ScanDeviceForSRs(SR.SRTypes.lvmoiscsi, deviceId, dconf); if (metadataSrs != null && metadataSrs.Count > 0) srs.AddRange(metadataSrs); } } AddScanResultsToDataGridView(srs, SR.SRTypes.lvmoiscsi); break; } if (srs.Count == 0) using (var dlg = new ThreeButtonDialog( new ThreeButtonDialog.Details(SystemIcons.Information, Messages.DR_WIZARD_STORAGEPAGE_SCAN_RESULT_NONE, Messages.XENCENTER))) { dlg.ShowDialog(this); } }