mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2026-08-18 21:26:56 +00:00
util: trim minFreeSpace values before parsing (#10083)
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user