diff --git a/kernel/model/box.go b/kernel/model/box.go index 2d32d6441..abe7251a0 100644 --- a/kernel/model/box.go +++ b/kernel/model/box.go @@ -20,7 +20,6 @@ import ( "bytes" "errors" "fmt" - "github.com/shirou/gopsutil/v3/disk" "io/ioutil" "os" "path" @@ -85,13 +84,7 @@ func autoStat() { return } - usage, err := disk.Usage(util.WorkspaceDir) - if nil != err { - logging.LogErrorf("get disk usage failed: %s", err) - return - } - logging.LogInfof("disk usage [total=%s, used=%s, free=%s]", humanize.Bytes(usage.Total), humanize.Bytes(usage.Used), humanize.Bytes(usage.Free)) - if usage.Free < uint64(Conf.Stat.DataSize*2) { + if util.NeedWarnDiskUsage(Conf.Stat.DataSize) { util.PushMsg(Conf.Language(179), 7000) } } diff --git a/kernel/util/disk.go b/kernel/util/disk.go new file mode 100644 index 000000000..1f84a101d --- /dev/null +++ b/kernel/util/disk.go @@ -0,0 +1,35 @@ +// SiYuan - Build Your Eternal Digital Garden +// Copyright (c) 2020-present, b3log.org +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +//go:build !ios + +package util + +import ( + "github.com/dustin/go-humanize" + "github.com/shirou/gopsutil/v3/disk" + "github.com/siyuan-note/logging" +) + +func NeedWarnDiskUsage(dataSize int64) bool { + usage, err := disk.Usage(WorkspaceDir) + if nil != err { + logging.LogErrorf("get disk usage failed: %s", err) + return false + } + logging.LogInfof("disk usage [total=%s, used=%s, free=%s]", humanize.Bytes(usage.Total), humanize.Bytes(usage.Used), humanize.Bytes(usage.Free)) + return usage.Free < uint64(dataSize*2) +} diff --git a/kernel/util/disk_ios.go b/kernel/util/disk_ios.go new file mode 100644 index 000000000..f91c5d70e --- /dev/null +++ b/kernel/util/disk_ios.go @@ -0,0 +1,23 @@ +// SiYuan - Build Your Eternal Digital Garden +// Copyright (c) 2020-present, b3log.org +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +//go:build ios + +package util + +func NeedWarnDiskUsage(dataSize int64) bool { + return false +}