dotcloud/docker

View on GitHub
builder/builder-next/worker/gc_unix.go

Summary

Maintainability
A
0 mins
Test Coverage
//go: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
}