Skip to content
Snippets Groups Projects
Commit 87b2c60c authored by Miklos Szeredi's avatar Miklos Szeredi
Browse files

ovl: do not get metacopy for userxattr


When looking up an inode on the lower layer for which the mounter lacks
read permisison the metacopy check will fail.  This causes the lookup to
fail as well, even though the directory is readable.

So ignore EACCES for the "userxattr" case and assume no metacopy for the
unreadable file.

Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent b6650dab
No related branches found
No related tags found
No related merge requests found
...@@ -884,6 +884,13 @@ int ovl_check_metacopy_xattr(struct ovl_fs *ofs, struct dentry *dentry) ...@@ -884,6 +884,13 @@ int ovl_check_metacopy_xattr(struct ovl_fs *ofs, struct dentry *dentry)
if (res < 0) { if (res < 0) {
if (res == -ENODATA || res == -EOPNOTSUPP) if (res == -ENODATA || res == -EOPNOTSUPP)
return 0; return 0;
/*
* getxattr on user.* may fail with EACCES in case there's no
* read permission on the inode. Not much we can do, other than
* tell the caller that this is not a metacopy inode.
*/
if (ofs->config.userxattr && res == -EACCES)
return 0;
goto out; goto out;
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment