INNER CODE UNIT · Go
writeTarball
offen/docker-volume-backup · cmd/backup/archive.go:125
func writeTarball(path string, tarWriter *tar.Writer, prefix string) (returnErr error) {
fileInfo, err := os.Lstat(path)
if err != nil {
returnErr = errwrap.Wrap(err, fmt.Sprintf("error getting file info for %s", path))
return
}
if fileInfo.Mode()&os.ModeSocket == os.ModeSocket {
return nil
}
var link string
if fileInfo.Mode()&os.ModeSymlink == os.ModeSymlink {
var err error
if link, err = os.Readlink(path); err != nil {
returnErr = errwrap.Wrap(err, fmt.Sprintf("error resolving symlink %s", path))
return
}