github.com/khulnasoft-lab/khulnasoft@v26.0.1-0.20240328202558-330a6f959fe0+incompatible/builder/builder-next/worker/gc_unix.go (about)

     1  //go:build !windows
     2  
     3  package worker
     4  
     5  import (
     6  	"syscall"
     7  )
     8  
     9  func detectDefaultGCCap(root string) int64 {
    10  	var st syscall.Statfs_t
    11  	if err := syscall.Statfs(root, &st); err != nil {
    12  		return defaultCap
    13  	}
    14  	diskSize := int64(st.Bsize) * int64(st.Blocks) //nolint unconvert
    15  	avail := diskSize / 10
    16  	return (avail/(1<<30) + 1) * 1e9 // round up
    17  }