diff --git a/weed/util/minfreespace.go b/weed/util/minfreespace.go index d06981338..044cfc265 100644 --- a/weed/util/minfreespace.go +++ b/weed/util/minfreespace.go @@ -87,6 +87,7 @@ var ErrMinFreeSpaceBadValue = errors.New("minFreeSpace is invalid") // ParseMinFreeSpace parses min free space expression s as percentage like 1,10 or human readable size like 10G func ParseMinFreeSpace(s string) (*MinFreeSpace, error) { + s = strings.TrimSpace(s) if percent, e := strconv.ParseFloat(s, 32); e == nil { if percent < 0 || percent > 100 { return nil, ErrMinFreeSpaceBadValue diff --git a/weed/util/minfreespace_test.go b/weed/util/minfreespace_test.go index eec1942dd..496a50b56 100644 --- a/weed/util/minfreespace_test.go +++ b/weed/util/minfreespace_test.go @@ -15,6 +15,8 @@ func TestParseMinFreeSpace(t *testing.T) { {in: "100Ki", ok: true, value: &MinFreeSpace{Type: AsBytes, Bytes: 100 * 1024, Raw: "100Ki"}}, {in: "100GiB", ok: true, value: &MinFreeSpace{Type: AsBytes, Bytes: 100 * 1024 * 1024 * 1024, Raw: "100GiB"}}, {in: "42M", ok: true, value: &MinFreeSpace{Type: AsBytes, Bytes: 42 * 1000 * 1000, Raw: "42M"}}, + {in: " 42 ", ok: true, value: &MinFreeSpace{Type: AsPercent, Percent: 42, Raw: "42"}}, + {in: " 42M ", ok: true, value: &MinFreeSpace{Type: AsBytes, Bytes: 42 * 1000 * 1000, Raw: "42M"}}, } for _, p := range tests {