summaryrefslogtreecommitdiff
path: root/builder/builder-next/worker/gc_unix.go
blob: b25906b82840910e984fa9e053932409206ac00b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//go:build !windows
// +build !windows

package worker

import (
	"syscall"
)

func detectDefaultGCCap(root string) int64 {
	var st syscall.Statfs_t
	if err := syscall.Statfs(root, &st); err != nil {
		return defaultCap
	}
	diskSize := int64(st.Bsize) * int64(st.Blocks) //nolint unconvert
	avail := diskSize / 10
	return (avail/(1<<30) + 1) * 1e9 // round up
}