mirror of
https://github.com/simon-ding/polaris.git
synced 2026-02-16 20:10:54 +08:00
26 lines
373 B
Go
26 lines
373 B
Go
//go:build linux
|
|
// +build linux
|
|
|
|
package utils
|
|
|
|
import (
|
|
"golang.org/x/sys/unix"
|
|
"math"
|
|
"runtime"
|
|
"syscall"
|
|
)
|
|
|
|
func AvailableSpace(dir string) uint64 {
|
|
if runtime.GOOS != "linux" {
|
|
return math.MaxUint64
|
|
}
|
|
var stat unix.Statfs_t
|
|
|
|
unix.Statfs(dir, &stat)
|
|
return stat.Bavail * uint64(stat.Bsize)
|
|
}
|
|
|
|
func MaxPermission() {
|
|
syscall.Umask(0) //max permission 0777
|
|
}
|