Bladeren bron

tarexport: check symlink error when saving layer

Signed-off-by: Stephen J Day <stephen.day@docker.com>
Stephen J Day 8 jaren geleden
bovenliggende
commit
8616b0690a
1 gewijzigde bestanden met toevoegingen van 4 en 1 verwijderingen
  1. 4 1
      image/tarexport/save.go

+ 4 - 1
image/tarexport/save.go

@@ -17,6 +17,7 @@ import (
 	"github.com/docker/docker/pkg/archive"
 	"github.com/docker/docker/pkg/system"
 	"github.com/docker/docker/reference"
+	"github.com/pkg/errors"
 )
 
 type imageDescriptor struct {
@@ -313,7 +314,9 @@ func (s *saveSession) saveLayer(id layer.ChainID, legacyImg image.V1Image, creat
 		if err != nil {
 			return distribution.Descriptor{}, err
 		}
-		os.Symlink(relPath, layerPath)
+		if err := os.Symlink(relPath, layerPath); err != nil {
+			return distribution.Descriptor{}, errors.Wrap(err, "error creating symlink while saving layer")
+		}
 	} else {
 		// Use system.CreateSequential rather than os.Create. This ensures sequential
 		// file access on Windows to avoid eating into MM standby list.