X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/95be914af0ab0a82c4fa92b3f9c29ebec88e8595..0b2772025dd5132beaebeac33d3be2e56890766e:/services/crunch-run/copier.go diff --git a/services/crunch-run/copier.go b/services/crunch-run/copier.go index 4c45f6acb9..3f529f6313 100644 --- a/services/crunch-run/copier.go +++ b/services/crunch-run/copier.go @@ -70,22 +70,22 @@ type copier struct { func (cp *copier) Copy() (string, error) { err := cp.walkMount("", cp.ctrOutputDir, limitFollowSymlinks, true) if err != nil { - return "", err + return "", fmt.Errorf("error scanning files to copy to output: %v", err) } fs, err := (&arvados.Collection{ManifestText: cp.manifest}).FileSystem(cp.client, cp.keepClient) if err != nil { - return "", err + return "", fmt.Errorf("error creating Collection.FileSystem: %v", err) } for _, d := range cp.dirs { err = fs.Mkdir(d, 0777) - if err != nil { - return "", err + if err != nil && err != os.ErrExist { + return "", fmt.Errorf("error making directory %q in output collection: %v", d, err) } } for _, f := range cp.files { err = cp.copyFile(fs, f) if err != nil { - return "", err + return "", fmt.Errorf("error copying file %q into output collection: %v", f, err) } } return fs.MarshalManifest(".")