From 84e750286e81da5de1348e80c752fdd13c12e32f Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Thu, 5 Dec 2024 16:42:01 +0100 Subject: [PATCH] check: adapt to work with ForceMask Signed-off-by: Giuseppe Scrivano --- check.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/check.go b/check.go index 396648e7f..e8837ff95 100644 --- a/check.go +++ b/check.go @@ -80,7 +80,7 @@ type CheckOptions struct { // layer to the contents that we'd expect it to have to ignore certain // discrepancies type checkIgnore struct { - ownership, timestamps, permissions bool + ownership, timestamps, permissions, filetype bool } // CheckMost returns a CheckOptions with mostly just "quick" checks enabled. @@ -139,8 +139,10 @@ func (s *store) Check(options *CheckOptions) (CheckReport, error) { if strings.Contains(o, "ignore_chown_errors=true") { ignore.ownership = true } - if strings.HasPrefix(o, "force_mask=") { + if strings.Contains(o, "force_mask=") { + ignore.ownership = true ignore.permissions = true + ignore.filetype = true } } for o := range s.pullOptions { @@ -833,7 +835,7 @@ func (s *store) Repair(report CheckReport, options *RepairOptions) []error { // compareFileInfo returns a string summarizing what's different between the two checkFileInfos func compareFileInfo(a, b checkFileInfo, idmap *idtools.IDMappings, ignore checkIgnore) string { var comparison []string - if a.typeflag != b.typeflag { + if a.typeflag != b.typeflag && !ignore.filetype { comparison = append(comparison, fmt.Sprintf("filetype:%v→%v", a.typeflag, b.typeflag)) } if idmap != nil && !idmap.Empty() {