19 lines
325 B
Go
19 lines
325 B
Go
//go:build !windows
|
|
|
|
package dbutils
|
|
|
|
import (
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
func checkHasFreeSpace(dir string) bool {
|
|
var stat unix.Statfs_t
|
|
err := unix.Statfs(dir, &stat)
|
|
if err != nil {
|
|
return true
|
|
}
|
|
|
|
var availableSpace = (stat.Bavail * uint64(stat.Bsize)) / (1 << 30) // GB
|
|
return availableSpace > minFreeSpaceGB
|
|
}
|