github.com/kaisenlinux/docker.io@v0.0.0-20230510090727-ea55db55fac7/engine/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 }