anchor.diff:        elsif device = Dir.glob("/sys/bus/pci/devices/#{controller[:pci_slot]}/host*/target*:1:0/*:1:0:*/scsi_generic/sg*").first
           controller[:device] = "/dev/#{File.basename(device)}"
         end
  +    end
  +
  +    devices[:disks].each do |disk|
  +     disk[:smart_device] = "cciss,#{disks.find_index(disk[:location])}"
       end
     end
   
  
positive.code:     end
  
      controllers.each do |controller|
        if device = Dir.glob("/sys/bus/pci/devices/#{controller[:pci_slot]}/cciss*").first
          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
  
negative.code:     disk = nil
  
      IO.popen(%w(ssacli controller all show config detail)).each do |line|
        if line =~ /^Smart (?:Array|HBA) (\S+) /
          controller = {
            :id => devices[:controllers].count,
            :model => Regexp.last_match(1),
  