graphdriver/overlay2: usingMetacopy ENOTSUP is non-fatal

Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com>
(cherry picked from commit 3bcb350711)
Signed-off-by: Bjorn Neergaard <bneergaard@mirantis.com>
This commit is contained in:
Bjorn Neergaard 2023-02-03 05:05:50 -07:00
parent d7573ab867
commit 7e03250780
No known key found for this signature in database

View file

@ -188,6 +188,11 @@ func usingMetacopy(d string) (bool, error) {
// ...and check if the pulled-up copy is marked as metadata-only
xattr, err := system.Lgetxattr(filepath.Join(l2, "f"), overlayutils.GetOverlayXattr("metacopy"))
if err != nil {
// ENOTSUP signifies the FS does not support either xattrs or metacopy. In either case,
// it is not a fatal error, and we should report metacopy as unused.
if errors.Is(err, unix.ENOTSUP) {
return false, nil
}
return false, errors.Wrap(err, "metacopy flag was not set on file in the upperdir")
}
usingMetacopy := xattr != nil