blobmapping: account blob size in disk usage

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi committed 2017-05-31 16:52:53 -07:00
1 parent 1c5dbe562a
commit f4695e7b4e
2 files changed
+21 -3

No files matched your search

+1 -2
View File
@@ -92,9 +92,8 @@ func TestControl(t *testing.T) {
du, err := cm.DiskUsage(context.TODO())
assert.NoError(t, err)
// fmt.Printf("du1:\n")
// for _, d := range du {
// fmt.Printf("du1: %+v\n", d)
// fmt.Printf("du: %+v\n", d)
// }
err = snap.Release()
+20 -1
View File
@@ -88,13 +88,32 @@ func (s *Snapshotter) Remove(ctx context.Context, key string) error {
b = tx.Bucket(bucketByBlob)
b.Delete(blobKey(blob, key))
if len(keyRange(tx, blobKey(blob, ""))) == 0 { // last snapshot
s.opt.Content.Delete(ctx, digest.Digest(blob)) // log error
s.opt.Content.Delete(ctx, blob) // log error
}
}
return nil
})
}
func (s *Snapshotter) Usage(ctx context.Context, key string) (snapshot.Usage, error) {
u, err := s.Snapshotter.Usage(ctx, key)
if err != nil {
return snapshot.Usage{}, err
}
blob, err := s.GetBlob(ctx, key)
if err != nil {
return u, err
}
if blob != "" {
info, err := s.opt.Content.Info(ctx, blob)
if err != nil {
return u, err
}
(&u).Add(snapshot.Usage{Size: info.Size, Inodes: 1})
}
return u, nil
}
// TODO: make Blob/SetBlob part of generic metadata wrapper that can detect
// blob key for deletion logic