@@ -10,6 +10,7 @@ import (
10
10
"github.com/Sirupsen/logrus"
11
11
"github.com/docker/docker/pkg/ioutils"
12
12
"github.com/opencontainers/go-digest"
13
+ "github.com/pkg/errors"
13
14
)
14
15
15
16
// DigestWalkFunc is function called by StoreBackend.Walk
@@ -47,10 +48,10 @@ func newFSStore(root string) (*fs, error) {
47
48
root : root ,
48
49
}
49
50
if err := os .MkdirAll (filepath .Join (root , contentDirName , string (digest .Canonical )), 0700 ); err != nil {
50
- return nil , err
51
+ return nil , errors . Wrap ( err , "failed to create storage backend" )
51
52
}
52
53
if err := os .MkdirAll (filepath .Join (root , metadataDirName , string (digest .Canonical )), 0700 ); err != nil {
53
- return nil , err
54
+ return nil , errors . Wrap ( err , "failed to create storage backend" )
54
55
}
55
56
return s , nil
56
57
}
@@ -96,7 +97,7 @@ func (s *fs) Get(dgst digest.Digest) ([]byte, error) {
96
97
func (s * fs ) get (dgst digest.Digest ) ([]byte , error ) {
97
98
content , err := ioutil .ReadFile (s .contentFile (dgst ))
98
99
if err != nil {
99
- return nil , err
100
+ return nil , errors . Wrapf ( err , "failed to get digest %s" , dgst )
100
101
}
101
102
102
103
// todo: maybe optional
@@ -118,7 +119,7 @@ func (s *fs) Set(data []byte) (digest.Digest, error) {
118
119
119
120
dgst := digest .FromBytes (data )
120
121
if err := ioutils .AtomicWriteFile (s .contentFile (dgst ), data , 0600 ); err != nil {
121
- return "" , err
122
+ return "" , errors . Wrap ( err , "failed to write digest data" )
122
123
}
123
124
124
125
return dgst , nil
@@ -161,7 +162,11 @@ func (s *fs) GetMetadata(dgst digest.Digest, key string) ([]byte, error) {
161
162
if _ , err := s .get (dgst ); err != nil {
162
163
return nil , err
163
164
}
164
- return ioutil .ReadFile (filepath .Join (s .metadataDir (dgst ), key ))
165
+ bytes , err := ioutil .ReadFile (filepath .Join (s .metadataDir (dgst ), key ))
166
+ if err != nil {
167
+ return nil , errors .Wrap (err , "failed to read metadata" )
168
+ }
169
+ return bytes , nil
165
170
}
166
171
167
172
// DeleteMetadata removes the metadata associated with a digest.
0 commit comments