gopkg.in/docker/docker.v20@v20.10.27/builder/builder-next/worker/gc_unix.go (about)

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