e118299052
Adds support for the daemon to handle user namespace maps as a per-daemon setting. Support for handling uid/gid mapping is added to the builder, archive/unarchive packages and functions, all graphdrivers (except Windows), and the test suite is updated to handle user namespace daemon rootgraph changes. Docker-DCO-1.1-Signed-off-by: Phil Estes <estesp@linux.vnet.ibm.com> (github: estesp)
35 lines
606 B
Go
35 lines
606 B
Go
// +build windows
|
|
|
|
package directory
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
|
|
"github.com/docker/docker/pkg/longpath"
|
|
)
|
|
|
|
// Size walks a directory tree and returns its total size in bytes.
|
|
func Size(dir string) (size int64, err error) {
|
|
fixedPath, err := filepath.Abs(dir)
|
|
if err != nil {
|
|
return
|
|
}
|
|
fixedPath = longpath.AddPrefix(fixedPath)
|
|
err = filepath.Walk(dir, func(d string, fileInfo os.FileInfo, e error) error {
|
|
// Ignore directory sizes
|
|
if fileInfo == nil {
|
|
return nil
|
|
}
|
|
|
|
s := fileInfo.Size()
|
|
if fileInfo.IsDir() || s == 0 {
|
|
return nil
|
|
}
|
|
|
|
size += s
|
|
|
|
return nil
|
|
})
|
|
return
|
|
}
|