mirror of
https://github.com/TeaOSLab/EdgeNode.git
synced 2025-11-18 11:40:24 +08:00
剩余空间使用free blocks代替available blocks
This commit is contained in:
@@ -1418,14 +1418,14 @@ func (this *FileStorage) checkDiskSpace() {
|
|||||||
if this.options != nil && len(this.options.Dir) > 0 {
|
if this.options != nil && len(this.options.Dir) > 0 {
|
||||||
stat, err := fsutils.Stat(this.options.Dir)
|
stat, err := fsutils.Stat(this.options.Dir)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
this.mainDiskIsFull = stat.AvailableSize() < MinDiskSpace
|
this.mainDiskIsFull = stat.FreeSize() < MinDiskSpace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var subDirs = this.subDirs // copy slice
|
var subDirs = this.subDirs // copy slice
|
||||||
for _, subDir := range subDirs {
|
for _, subDir := range subDirs {
|
||||||
stat, err := fsutils.Stat(subDir.Path)
|
stat, err := fsutils.Stat(subDir.Path)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
subDir.IsFull = stat.AvailableSize() < MinDiskSpace
|
subDir.IsFull = stat.FreeSize() < MinDiskSpace
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ func (this *NodeStatusExecutor) updateCacheSpace(status *nodeconfigs.NodeStatus)
|
|||||||
result = append(result, maps.Map{
|
result = append(result, maps.Map{
|
||||||
"path": path,
|
"path": path,
|
||||||
"total": stat.TotalSize(),
|
"total": stat.TotalSize(),
|
||||||
"avail": stat.AvailableSize(),
|
"avail": stat.FreeSize(),
|
||||||
"used": stat.UsedSize(),
|
"used": stat.UsedSize(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -65,8 +65,8 @@ func NewStatResult(rawStat *unix.Statfs_t) *StatResult {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *StatResult) AvailableSize() uint64 {
|
func (this *StatResult) FreeSize() uint64 {
|
||||||
return this.rawStat.Bavail * this.blockSize
|
return this.rawStat.Bfree * this.blockSize
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *StatResult) TotalSize() uint64 {
|
func (this *StatResult) TotalSize() uint64 {
|
||||||
@@ -74,8 +74,8 @@ func (this *StatResult) TotalSize() uint64 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (this *StatResult) UsedSize() uint64 {
|
func (this *StatResult) UsedSize() uint64 {
|
||||||
if this.rawStat.Bavail <= this.rawStat.Blocks {
|
if this.rawStat.Bfree <= this.rawStat.Blocks {
|
||||||
return (this.rawStat.Blocks - this.rawStat.Bavail) * this.blockSize
|
return (this.rawStat.Blocks - this.rawStat.Bfree) * this.blockSize
|
||||||
}
|
}
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ func TestStat(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
t.Log("available:", stat.AvailableSize()/(1<<30), "total:", stat.TotalSize()/(1<<30), "used:", stat.UsedSize()/(1<<30))
|
t.Log("free:", stat.FreeSize()/(1<<30), "total:", stat.TotalSize()/(1<<30), "used:", stat.UsedSize()/(1<<30))
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStatCache(t *testing.T) {
|
func TestStatCache(t *testing.T) {
|
||||||
@@ -23,7 +23,7 @@ func TestStatCache(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatal(err)
|
t.Fatal(err)
|
||||||
}
|
}
|
||||||
t.Log("available:", stat.AvailableSize()/(1<<30), "total:", stat.TotalSize()/(1<<30), "used:", stat.UsedSize()/(1<<30))
|
t.Log("free:", stat.FreeSize()/(1<<30), "total:", stat.TotalSize()/(1<<30), "used:", stat.UsedSize()/(1<<30))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user