diff --git a/graph/load.go b/graph/load.go index 4399da25d9..8f1da31136 100644 --- a/graph/load.go +++ b/graph/load.go @@ -4,7 +4,6 @@ package graph import ( "encoding/json" - "io" "io/ioutil" "os" "path" @@ -27,23 +26,9 @@ func (s *TagStore) CmdLoad(job *engine.Job) engine.Status { defer os.RemoveAll(tmpImageDir) var ( - repoTarFile = path.Join(tmpImageDir, "repo.tar") - repoDir = path.Join(tmpImageDir, "repo") + repoDir = path.Join(tmpImageDir, "repo") ) - tarFile, err := os.Create(repoTarFile) - if err != nil { - return job.Error(err) - } - if _, err := io.Copy(tarFile, job.Stdin); err != nil { - return job.Error(err) - } - tarFile.Close() - - repoFile, err := os.Open(repoTarFile) - if err != nil { - return job.Error(err) - } if err := os.Mkdir(repoDir, os.ModeDir); err != nil { return job.Error(err) } @@ -57,7 +42,7 @@ func (s *TagStore) CmdLoad(job *engine.Job) engine.Status { excludes[i] = k i++ } - if err := chrootarchive.Untar(repoFile, repoDir, &archive.TarOptions{ExcludePatterns: excludes}); err != nil { + if err := chrootarchive.Untar(job.Stdin, repoDir, &archive.TarOptions{ExcludePatterns: excludes}); err != nil { return job.Error(err) }