diff --git a/pkg/fsfilters/filters.go b/pkg/fsfilters/filters.go index 8d6b9a4..2dd8792 100644 --- a/pkg/fsfilters/filters.go +++ b/pkg/fsfilters/filters.go @@ -155,5 +155,16 @@ func ShouldSkipFilesystem(fsType, mountpoint string, totalBytes, usedBytes uint6 } } + // EnhanceCP uses /var/container_tmp/{uuid}/merged for container overlays. + // Filter these as they're ephemeral container layers, not user storage. Related to #790. + if strings.Contains(mountpoint, "/container_tmp/") { + for _, pattern := range containerOverlayPatterns { + if strings.Contains(mountpoint, pattern) { + reasons = append(reasons, "container-overlay") + break + } + } + } + return len(reasons) > 0, reasons } diff --git a/pkg/fsfilters/filters_test.go b/pkg/fsfilters/filters_test.go index 4af2622..bb04749 100644 --- a/pkg/fsfilters/filters_test.go +++ b/pkg/fsfilters/filters_test.go @@ -179,6 +179,9 @@ func TestShouldSkipFilesystem(t *testing.T) { {"enhance containers overlay", "ext4", "/var/local/enhance/containers/abc123/overlay/merged", 1000000, 500000, true}, {"custom containers diff", "ext4", "/opt/containers/myapp/diff/layer", 1000000, 500000, true}, {"custom containers overlay2", "ext4", "/data/containers/xyz/overlay2/layer1", 1000000, 500000, true}, + // EnhanceCP container_tmp paths (issue #790) + {"enhancecp container_tmp merged", "overlay", "/var/container_tmp/0d6eaae4-1aa0-4aad-a9d9-d430329c2e38/merged", 1000000, 500000, true}, + {"enhancecp container_tmp overlay", "overlay", "/var/container_tmp/abc123/overlay/layer", 1000000, 500000, true}, // Windows paths {"Windows System Reserved", "NTFS", "System Reserved", 500 * 1024 * 1024, 100 * 1024 * 1024, true},