| 1234567891011121314151617181920212223 |
- //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
- }
|