//go:build linux // +build linux package main import ( "syscall" "lc/common/util" ) func getFreeSpace(dir string) (int64, error) { var stat syscall.Statfs_t if err := syscall.Statfs(dir, &stat); err != nil { return 0, err } free := int64(stat.Bfree) * int64(stat.Bsize) total := int64(stat.Blocks) * int64(stat.Bsize) util.GetTagLog().Infof("sys", "DeployMgr:磁盘空间检查 dir=%s total=%dMB free=%dMB avail=%dMB bsize=%d blocks=%d bfree=%d bavail=%d", dir, total/(1024*1024), int64(stat.Bfree)*int64(stat.Bsize)/(1024*1024), free/(1024*1024), stat.Bsize, stat.Blocks, stat.Bfree, stat.Bavail) return free, nil }