123456789101112131415161718192021222324252627 |
- // Copyright (c) 2012 VMware, Inc.
- // +build darwin freebsd linux netbsd openbsd
- package sigar
- import "syscall"
- func (self *FileSystemUsage) Get(path string) error {
- stat := syscall.Statfs_t{}
- err := syscall.Statfs(path, &stat)
- if err != nil {
- return err
- }
- bsize := stat.Bsize / 512
- self.Total = (uint64(stat.Blocks) * uint64(bsize)) >> 1
- self.Free = (uint64(stat.Bfree) * uint64(bsize)) >> 1
- self.Avail = (uint64(stat.Bavail) * uint64(bsize)) >> 1
- self.Used = self.Total - self.Free
- self.Files = stat.Files
- self.FreeFiles = stat.Ffree
- return nil
- }
|