@@ -89,13 +89,15 @@ func mkdirAll(name string, perm os.FileMode) error {
8989 return syncDir (dir , func () error {
9090 // We'll see ErrNotExist if the final entry in the requested path doesn't exist,
9191 // so we simply attempt to create it in here.
92- if err := os .Mkdir (name , perm ); err != nil {
93- return fmt .Errorf ("%q: %v" , name , err )
92+ //
93+ // Ignore ErrExist as that just means someone else raced us and got there first.
94+ if err := os .Mkdir (name , perm ); err != nil && ! errors .Is (err , os .ErrExist ) {
95+ return fmt .Errorf ("%q: %w" , name , err )
9496 }
9597 return nil
9698 })
9799 case err != nil :
98- return fmt .Errorf ("lstat %q: %v " , name , err )
100+ return fmt .Errorf ("lstat %q: %w " , name , err )
99101 case ! di .IsDir ():
100102 return fmt .Errorf ("%s is not a directory" , name )
101103 default :
@@ -116,7 +118,7 @@ func createEx(name string, d []byte) error {
116118 return syncDir (dir , func () error {
117119 tmpName , err := createTemp (name , d )
118120 if err != nil {
119- return fmt .Errorf ("failed to create temp file: %v " , err )
121+ return fmt .Errorf ("failed to create temp file: %w " , err )
120122 }
121123 defer func () {
122124 if err := os .Remove (tmpName ); err != nil {
@@ -147,7 +149,7 @@ func overwrite(name string, d []byte) error {
147149
148150 tmpName , err := createTemp (name , d )
149151 if err != nil {
150- return fmt .Errorf ("failed to create temp file: %v " , err )
152+ return fmt .Errorf ("failed to create temp file: %w " , err )
151153 }
152154
153155 if err := os .Rename (tmpName , name ); err != nil {
@@ -189,7 +191,7 @@ func createTemp(prefix string, d []byte) (name string, err error) {
189191 }()
190192
191193 if n , err := f .Write (d ); err != nil {
192- return "" , fmt .Errorf ("failed to write to temporary file %q: %v " , name , err )
194+ return "" , fmt .Errorf ("failed to write to temporary file %q: %w " , name , err )
193195 } else if l := len (d ); n < l {
194196 return "" , fmt .Errorf ("short write on %q, %d < %d" , name , n , l )
195197 }
0 commit comments