anchor.diff:      end
     end
   
  -  disk_devices
  -
     collect_data(:default) do
       hardware Mash.new
   
  
positive.code:     controllers = []
  
      IO.popen(%w(sas2ircu list)).each do |line|
        if line =~ /^\s+(\d+)\s+(\S+)\s+\h+h\s+\h+h\s+(\S+)\s+\h+h\s+\h+h\s*$/
          controllers[$1.to_i] = {
            :id => devices[:controllers].count,
            :model => $2,
            :pci_slot => $3.sub(/^(\h{2})h:(\h{2})h:(\h{2})h:0(\h)h$/, "00\\1:\\2:\\3.\\4"),
            :arrays => [],
            :disks => []
          }
  
          devices[:controllers] << controllers[$1.to_i]
        end
      end
  
      controllers.each_with_index do |controller, index|
  
negative.code:           when "Enclosure #" then disk[:location] = Regexp.last_match(2)
            when "Slot #" then disk[:location] = "#{disk[:location]}:#{Regexp.last_match(2)}"
            when "SAS Address" then disk[:device] = find_sas_device(Regexp.last_match(2).tr("-", ""))
            when "Size (in MB)/(in sectors)" then disk[:size] = parse_disk_size("#{Regexp.last_match(2).split('/').first} MB")
            when "Manufacturer" then disk[:vendor] = Regexp.last_match(2)
            when "Model Number" then disk[:model] = Regexp.last_match(2)
            when "Firmware Revision" then disk[:firmware_version] = Regexp.last_match(2)
  