anchor.diff:          when "WWN" then disk[:wwn] = Regexp.last_match(2)
           when "PD Type" then disk[:interface] = Regexp.last_match(2)
           when "Raw Size" then disk[:size] = memory_to_disk_size(Regexp.last_match(2).sub(/\s*\[.*\]$/, ""))
  -        when "Inquiry Data" then disk[:vendor], disk[:model], disk[:serial] = Regexp.last_match(2).split
  +        when "Inquiry Data" then disk[:vendor], disk[:model], disk[:serial_number] = Regexp.last_match(2).split
           end
         end
       end
  
positive.code:         devices[:disks] << disk
          controller[:disks] << disk[:id]
          array[:disks] << disk[:id]
        elsif disk && line =~ /^         (\S[^:]+):\s+(.*)$/
          case Regexp.last_match(1)
          when "Interface Type" then disk[:interface] = Regexp.last_match(2)
          when "Size" then disk[:size] = Regexp.last_match(2)
          when "Rotational Speed" then disk[:rpm] = Regexp.last_match(2)
          when "Firmware Revision" then disk[:firmware_version] = Regexp.last_match(2)
          when "Serial Number" then disk[:serial_number] = Regexp.last_match(2)
          when "Model" then disk[:vendor], disk[:model] = Regexp.last_match(2).squeeze(" ").strip.sub(/^ATA /, "").split
          end
        elsif array && line =~ /^         (\S[^:]+):\s+(.*)$/
          case Regexp.last_match(1)
          when "Size" then array[:size] = Regexp.last_match(2)
          when "Fault Tolerance" then array[:raid_level] = Regexp.last_match(2)
  
negative.code:         when "WWN" then disk[:wwn] = Regexp.last_match(2)
          when "PD Type" then disk[:interface] = Regexp.last_match(2)
          when "Raw Size" then disk[:size] = memory_to_disk_size(Regexp.last_match(2).sub(/\s*\[.*\]$/, ""))
          when "Inquiry Data" then disk[:vendor], disk[:model], disk[:serial_number] = Regexp.last_match(2).split
          end
        elsif array && line =~ /^(\S.*\S)\s*:\s+(\S.*)$/
          case Regexp.last_match(1)
  