/
githubmirror
/
rclone
Обзор
Документация
Войти
/
githubmirror
/
rclone
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
lib/diskusage/diskusage_unix.go
27 строк
745 B
Nick Craig-Wood
Add lib/diskusage to measure used/free on disks
07 сен 2023, 17:57
07 сен 2023, 17:57
0fb3656
Код
Авторство
О чём код?
//go:build aix || android || darwin || dragonfly || freebsd || ios || linux package diskusage import ( "golang.org/x/sys/unix" ) // New returns the disk status for dir. // // May return Unsupported error if it doesn't work on this platform. func New(dir string) (info Info, err error) { var statfs unix.Statfs_t err = unix.Statfs(dir, &statfs) if err != nil { return info, err } // Note that these can be different sizes on different OSes so // we upcast them all to uint64 //nolint:unconvert info.Free = uint64(statfs.Bfree) * uint64(statfs.Bsize) //nolint:unconvert info.Available = uint64(statfs.Bavail) * uint64(statfs.Bsize) //nolint:unconvert info.Total = uint64(statfs.Blocks) * uint64(statfs.Bsize) return info, nil }