Append suffix 'i' only if needed

Signed-off-by: Ted Yu <yuzhihong@gmail.com>
This commit is contained in:
Ted Yu 2020-05-10 07:36:58 -07:00
parent 87e5d4e4de
commit 1b9d6f46bf
2 changed files with 11 additions and 1 deletions

View File

@ -69,7 +69,11 @@ func getPageSize(path string, mounter mount.Interface) (*resource.Quantity, erro
// NOTE: Adding suffix 'i' as result should be comparable with a medium size.
// pagesize mount option is specified without a suffix,
// e.g. pagesize=2M or pagesize=1024M for x86 CPUs
pageSize, err := resource.ParseQuantity(strings.TrimPrefix(opt, prefix) + "i")
trimmedOpt := strings.TrimPrefix(opt, prefix)
if !strings.HasSuffix(trimmedOpt, "i") {
trimmedOpt = trimmedOpt + "i"
}
pageSize, err := resource.ParseQuantity(trimmedOpt)
if err != nil {
return nil, fmt.Errorf("error getting page size from '%s' mount option: %v", opt, err)
}

View File

@ -836,6 +836,12 @@ func TestGetPageSize(t *testing.T) {
Path: "/mnt/hugepages-2Mi",
Opts: []string{"rw", "relatime", "pagesize=2M"},
},
{
Device: "/dev/hugepages",
Type: "hugetlbfs",
Path: "/mnt/hugepages-2Mi",
Opts: []string{"rw", "relatime", "pagesize=2Mi"},
},
{
Device: "sysfs",
Type: "sysfs",