//go:build !windows && !openbsd // +build !windows,!openbsd package disk import ( "syscall" ) func GetDiskStat(root string) (DiskStat, error) { var st syscall.Statfs_t if err := syscall.Statfs(root, &st); err != nil { return DiskStat{}, err } return DiskStat{ Total: int64(st.Bsize) * int64(st.Blocks), Free: int64(st.Bsize) * int64(st.Bfree), Available: int64(st.Bsize) * int64(st.Bavail), }, nil }