Fix reclaimable image disk usage calculation for in-use images

This change reworks to build up the reclaimable image disk uage instead of setting it to total size and subtracting active images. This change also includes the image index size as reclaimable if it is included with the image summary.

Signed-off-by: Austin Vazquez <austin.vazquez@docker.com>
This commit is contained in:
Austin Vazquez
2025-12-19 10:55:02 -06:00
parent 1fbaf34c2b
commit 46dba49ec8
5 changed files with 138 additions and 30 deletions

View File

@@ -76,6 +76,9 @@ func TestDiskUsage(t *testing.T) {
})
assert.NilError(t, err)
assert.Equal(t, du.Images.ActiveCount, int64(0))
assert.Equal(t, du.Images.TotalCount, int64(1))
assert.Equal(t, du.Images.Reclaimable, du.Images.TotalSize)
assert.Assert(t, du.Images.TotalSize > 0)
assert.Equal(t, len(du.Images.Items), 1)
assert.Equal(t, len(du.Images.Items[0].RepoTags), 1)
@@ -113,6 +116,7 @@ func TestDiskUsage(t *testing.T) {
assert.Equal(t, du.Images.ActiveCount, int64(1))
assert.Equal(t, du.Images.TotalCount, int64(1))
assert.Equal(t, du.Images.Reclaimable, int64(0))
assert.Equal(t, len(du.Images.Items), 1)
assert.Equal(t, du.Images.Items[0].Containers, prev.Images.Items[0].Containers+1)