mirror of
https://github.com/moby/buildkit.git
synced 2026-11-06 05:16:45 +00:00
blobmapping: account blob size in disk usage
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
1 parent
1c5dbe562a
commit
f4695e7b4e
2 files changed
+21
-3
No files matched your search
@@ -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()
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in new issue
Block a user