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
+}