seaweedfs/weed/stats/disk_openbsd.go

25 lines
574 B
Go
Raw Normal View History

//go:build openbsd
// +build openbsd
package stats
import (
2024-05-23 23:25:16 +08:00
"syscall"
2024-05-23 23:25:16 +08:00
"github.com/seaweedfs/seaweedfs/weed/pb/volume_server_pb"
)
func fillInDiskStatus(disk *volume_server_pb.DiskStatus) {
2024-05-23 23:25:16 +08:00
fs := syscall.Statfs_t{}
err := syscall.Statfs(disk.Dir, &fs)
if err != nil {
return
}
disk.All = fs.F_blocks * uint64(fs.F_bsize)
disk.Free = fs.F_bfree * uint64(fs.F_bsize)
disk.Used = disk.All - disk.Free
disk.PercentFree = float32((float64(disk.Free) / float64(disk.All)) * 100)
disk.PercentUsed = float32((float64(disk.Used) / float64(disk.All)) * 100)
return
}