diff --git a/components/content-service/pkg/archive/tar.go b/components/content-service/pkg/archive/tar.go index 22abee7d236e57..88bbee497ef3b9 100644 --- a/components/content-service/pkg/archive/tar.go +++ b/components/content-service/pkg/archive/tar.go @@ -198,6 +198,14 @@ func remapFile(name string, uid, gid int, xattrs map[string]string) error { if err == syscall.ENOTSUP || err == syscall.EPERM { continue } + if strings.HasPrefix(key, "user.") { + // This is a marker to match inodes, such as when an upper layer copies a lower layer file in overlayfs. + // However, when restoring a content, the container in the workspace is not always running, so there is no problem ignoring the failure. + if strings.HasSuffix(key, ".overlay.impure") || strings.HasSuffix(key, ".overlay.origin") { + continue + } + } + log.WithField("name", key).WithField("value", value).WithField("file", name).WithError(err).Warn("restoring extended attributes") } }