Ohai filesystem bug


#1

mount -l produces extra output for the filesystem label that the current
regex can’t handle. While fixing this I also ran into an issue with match
variables. For some reason, if you do any operations on them, like split,
it wipes out the values of other match variables so they aren’t available
after that operation. Anyways here is a minimally tested fix.
lines.each do |line|
if line =~ /^(.+?) on (.+?) type (.+?) ((.+?))(?:\s[(.*?)]|)/
md = Regexp.last_match
filesystem = md[1]
fs[filesystem] = Mash.new unless fs.has_key?(filesystem)
fs[filesystem][:mount] = md[2]
fs[filesystem][:fs_type] = md[3]
fs[filesystem][:mount_options] = md[4].split(",")
fs[filesystem][:label] = md[5]
end
end