From 896d4fa0d02084438fd8c7e477243e8e7f088c4e Mon Sep 17 00:00:00 2001 From: Clayton Craft Date: Tue, 10 Aug 2021 13:02:44 -0700 Subject: [PATCH] pkg/misc: add function to return free space for given path --- pkgs/misc/misc.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/pkgs/misc/misc.go b/pkgs/misc/misc.go index 97f8ffd..b610020 100644 --- a/pkgs/misc/misc.go +++ b/pkgs/misc/misc.go @@ -6,6 +6,7 @@ import ( "log" "os" "path/filepath" + "golang.org/x/sys/unix" ) type StringSet map[string]bool @@ -39,3 +40,10 @@ func RelativeSymlinkTargetToDir(symPath string, dir string) (string, error) { return path, nil } + +func FreeSpace(path string) (uint64, error) { + var stat unix.Statfs_t + unix.Statfs(path, &stat) + size := stat.Bavail * uint64(stat.Bsize) + return size, nil +}