ignore more tokens in some mountinfo entries (#12104)

it seems to be legitimate to have `mountinfo` lines
to have keywords with spaces such as

```
rootfs overlay / overlay rw,relatime,lowerdir...
```

This was not expected, but for our requirement
we can just ignore this and move forward.

fixes #12047

Signed-off-by: Harshavardhana <harsha@minio.io>
This commit is contained in:
Harshavardhana 2021-04-21 08:40:49 -07:00 committed by GitHub
parent 6235bd825b
commit 31dab4e7ff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 2 deletions

View File

@ -131,9 +131,11 @@ func parseMountFrom(file io.Reader) (mountInfos, error) {
if err == io.EOF {
break
}
fields := strings.Fields(line)
if len(fields) != expectedNumFieldsPerLine {
return nil, fmt.Errorf("wrong number of fields (expected %d, got %d): %s", expectedNumFieldsPerLine, len(fields), line)
// ignore incorrect lines.
continue
}
// Freq should be an integer.

View File

@ -214,7 +214,6 @@ func TestReadProcMountFrom(t *testing.T) {
// Error cases where parsing fails with invalid Freq and Pass params.
{
errorCases := []string{
"/dev/0 /path/to/mount\n",
"/dev/1 /path/to/mount type flags a 0\n",
"/dev/2 /path/to/mount type flags 0 b\n",
}