diff --git a/directory/directory_src.go b/directory/directory_src.go index 0a8acf6bf9..5a6838a6e0 100644 --- a/directory/directory_src.go +++ b/directory/directory_src.go @@ -52,11 +52,11 @@ func (s *dirImageSource) GetManifest(instanceDigest *digest.Digest) ([]byte, str func (s *dirImageSource) GetBlob(info types.BlobInfo) (io.ReadCloser, int64, error) { r, err := os.Open(s.ref.layerPath(info.Digest)) if err != nil { - return nil, 0, nil + return nil, -1, err } fi, err := r.Stat() if err != nil { - return nil, 0, nil + return nil, -1, err } return r, fi.Size(), nil } diff --git a/directory/directory_transport.go b/directory/directory_transport.go index c38753087e..37174841cb 100644 --- a/directory/directory_transport.go +++ b/directory/directory_transport.go @@ -5,14 +5,13 @@ import ( "path/filepath" "strings" - "github.com/pkg/errors" - "github.com/containers/image/directory/explicitfilepath" "github.com/containers/image/docker/reference" "github.com/containers/image/image" "github.com/containers/image/transports" "github.com/containers/image/types" "github.com/opencontainers/go-digest" + "github.com/pkg/errors" ) func init() { @@ -173,7 +172,7 @@ func (ref dirReference) manifestPath() string { // layerPath returns a path for a layer tarball within a directory using our conventions. func (ref dirReference) layerPath(digest digest.Digest) string { // FIXME: Should we keep the digest identification? - return filepath.Join(ref.path, digest.Hex()+".tar") + return filepath.Join(ref.path, digest.Hex()) } // signaturePath returns a path for a signature within a directory using our conventions. diff --git a/directory/directory_transport_test.go b/directory/directory_transport_test.go index 6e21a2aaa6..2e33fb94ce 100644 --- a/directory/directory_transport_test.go +++ b/directory/directory_transport_test.go @@ -220,7 +220,7 @@ func TestReferenceLayerPath(t *testing.T) { defer os.RemoveAll(tmpDir) dirRef, ok := ref.(dirReference) require.True(t, ok) - assert.Equal(t, tmpDir+"/"+hex+".tar", dirRef.layerPath("sha256:"+hex)) + assert.Equal(t, tmpDir+"/"+hex, dirRef.layerPath("sha256:"+hex)) } func TestReferenceSignaturePath(t *testing.T) {