in cgroup/util.go [84:117]
func parseMountinfoLine(line string) (mountinfo, error) {
mount := mountinfo{}
fields := strings.Fields(line)
if len(fields) < 10 {
return mount, fmt.Errorf("invalid mountinfo line, expected at least "+
"10 fields but got %d from line='%s'", len(fields), line)
}
mount.mountpoint = fields[4]
var seperatorIndex int
for i, value := range fields {
if value == "-" {
seperatorIndex = i
break
}
}
if fields[seperatorIndex] != "-" {
return mount, fmt.Errorf("invalid mountinfo line, separator ('-') not "+
"found in line='%s'", line)
}
if len(fields)-seperatorIndex-1 < 3 {
return mount, fmt.Errorf("invalid mountinfo line, expected at least "+
"3 fields after seperator but got %d from line='%s'",
len(fields)-seperatorIndex-1, line)
}
fields = fields[seperatorIndex+1:]
mount.filesystemType = fields[0]
mount.superOptions = strings.Split(fields[2], ",")
return mount, nil
}