summaryrefslogtreecommitdiffstats
path: root/df_statfs.go
blob: 09d8549a9467eed08a99bfe062f02a37f7a621ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//go:build darwin || dragonfly || freebsd || linux

package main

import (
	"log"

	"golang.org/x/sys/unix"
)

func diskFree(wd string) string {
	var stat unix.Statfs_t

	if err := unix.Statfs(wd, &stat); err != nil {
		log.Printf("diskfree: %s", err)
		return ""
	}

	// Available blocks * size per block = available space in bytes
	return "df: " + humanize(int64(uint64(stat.Bavail)*uint64(stat.Bsize)))
}