From 3e2c637858ade8d05a8f39db8e592670b2b254be Mon Sep 17 00:00:00 2001 From: patrick Date: Thu, 25 Jun 2026 00:03:38 +0800 Subject: [PATCH] util: trim minFreeSpace values before parsing (#10083) --- weed/util/minfreespace.go | 1 + weed/util/minfreespace_test.go | 2 ++ 2 files changed, 3 insertions(+) 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 {