Dir.glob("/sys/class/scsi_host/host*") do |host|
driver = read_sysctl_file("#{host}/proc_name")
- if driver == "ahci" || driver == "mptsas"
+ if %w(ahci mptsas sata_mv sata_nv).include?(driver)
bus = host.sub("/sys/class/scsi_host/host", "")
Dir.glob("/sys/bus/scsi/devices/#{bus}:0:*").each do |device|
controller[:device] = File.basename(device).sub(/^cciss(\d+)$/, "/dev/cciss/c\\1d0")
elsif device = Dir.glob("/sys/bus/pci/devices/#{controller[:pci_slot]}/host*/target*:3:0/*:3:0:0/scsi_generic/sg*").first
controller[:device] = "/dev/#{File.basename(device)}"
+ elsif device = Dir.glob("/sys/bus/pci/devices/#{controller[:pci_slot]}/host*/target*:1:0/*:1:0:0/scsi_generic/sg*").first
+ controller[:device] = "/dev/#{File.basename(device)}"
end
end
end