ovl: do not fail when setting origin xattr
authorMiklos Szeredi <mszeredi@redhat.com>
Mon, 14 Dec 2020 14:26:14 +0000 (15:26 +0100)
committerMiklos Szeredi <mszeredi@redhat.com>
Mon, 14 Dec 2020 14:26:14 +0000 (15:26 +0100)
Comment above call already says this, but only EOPNOTSUPP is ignored, other
failures are not.

For example setting "user.*" will fail with EPERM on symlink/special.

Ignore this error as well.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/overlayfs/copy_up.c

index 0b7e7a90a43591a573efbdcb027de6ea774f0d0c..e5b616c93e11b673d870a880d5d6233f20da536a 100644 (file)
@@ -354,7 +354,8 @@ int ovl_set_origin(struct ovl_fs *ofs, struct dentry *dentry,
                                 fh ? fh->fb.len : 0, 0);
        kfree(fh);
 
-       return err;
+       /* Ignore -EPERM from setting "user.*" on symlink/special */
+       return err == -EPERM ? 0 : err;
 }
 
 /* Store file handle of @upper dir in @index dir entry */