ovl: use ovl_do_getxattr() for private xattr

Use the convention of calling ovl_do_foo() for operations which are overlay
specific.

This patch is a no-op, and will have significance for supporting
"user.overlay." xattr namespace.

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
Miklos Szeredi 2020-09-02 10:58:48 +02:00
parent 92f0d6c9cf
commit d5dc7486e8
4 changed files with 15 additions and 8 deletions

View File

@ -748,7 +748,8 @@ unsigned int ovl_get_nlink(struct dentry *lowerdentry,
if (!lowerdentry || !upperdentry || d_inode(lowerdentry)->i_nlink == 1) if (!lowerdentry || !upperdentry || d_inode(lowerdentry)->i_nlink == 1)
return fallback; return fallback;
err = vfs_getxattr(upperdentry, OVL_XATTR_NLINK, &buf, sizeof(buf) - 1); err = ovl_do_getxattr(upperdentry, OVL_XATTR_NLINK,
&buf, sizeof(buf) - 1);
if (err < 0) if (err < 0)
goto fail; goto fail;

View File

@ -109,7 +109,7 @@ static struct ovl_fh *ovl_get_fh(struct dentry *dentry, const char *name)
int res, err; int res, err;
struct ovl_fh *fh = NULL; struct ovl_fh *fh = NULL;
res = vfs_getxattr(dentry, name, NULL, 0); res = ovl_do_getxattr(dentry, name, NULL, 0);
if (res < 0) { if (res < 0) {
if (res == -ENODATA || res == -EOPNOTSUPP) if (res == -ENODATA || res == -EOPNOTSUPP)
return NULL; return NULL;
@ -123,7 +123,7 @@ static struct ovl_fh *ovl_get_fh(struct dentry *dentry, const char *name)
if (!fh) if (!fh)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
res = vfs_getxattr(dentry, name, fh->buf, res); res = ovl_do_getxattr(dentry, name, fh->buf, res);
if (res < 0) if (res < 0)
goto fail; goto fail;

View File

@ -170,6 +170,12 @@ static inline int ovl_do_symlink(struct inode *dir, struct dentry *dentry,
return err; return err;
} }
static inline ssize_t ovl_do_getxattr(struct dentry *dentry, const char *name,
void *value, size_t size)
{
return vfs_getxattr(dentry, name, value, size);
}
static inline int ovl_do_setxattr(struct dentry *dentry, const char *name, static inline int ovl_do_setxattr(struct dentry *dentry, const char *name,
const void *value, size_t size, int flags) const void *value, size_t size, int flags)
{ {

View File

@ -548,7 +548,7 @@ bool ovl_check_origin_xattr(struct dentry *dentry)
{ {
int res; int res;
res = vfs_getxattr(dentry, OVL_XATTR_ORIGIN, NULL, 0); res = ovl_do_getxattr(dentry, OVL_XATTR_ORIGIN, NULL, 0);
/* Zero size value means "copied up but origin unknown" */ /* Zero size value means "copied up but origin unknown" */
if (res >= 0) if (res >= 0)
@ -565,7 +565,7 @@ bool ovl_check_dir_xattr(struct dentry *dentry, const char *name)
if (!d_is_dir(dentry)) if (!d_is_dir(dentry))
return false; return false;
res = vfs_getxattr(dentry, name, &val, 1); res = ovl_do_getxattr(dentry, name, &val, 1);
if (res == 1 && val == 'y') if (res == 1 && val == 'y')
return true; return true;
@ -853,7 +853,7 @@ int ovl_check_metacopy_xattr(struct dentry *dentry)
if (!S_ISREG(d_inode(dentry)->i_mode)) if (!S_ISREG(d_inode(dentry)->i_mode))
return 0; return 0;
res = vfs_getxattr(dentry, OVL_XATTR_METACOPY, NULL, 0); res = ovl_do_getxattr(dentry, OVL_XATTR_METACOPY, NULL, 0);
if (res < 0) { if (res < 0) {
if (res == -ENODATA || res == -EOPNOTSUPP) if (res == -ENODATA || res == -EOPNOTSUPP)
return 0; return 0;
@ -887,7 +887,7 @@ char *ovl_get_redirect_xattr(struct dentry *dentry, int padding)
int res; int res;
char *s, *next, *buf = NULL; char *s, *next, *buf = NULL;
res = vfs_getxattr(dentry, OVL_XATTR_REDIRECT, NULL, 0); res = ovl_do_getxattr(dentry, OVL_XATTR_REDIRECT, NULL, 0);
if (res == -ENODATA || res == -EOPNOTSUPP) if (res == -ENODATA || res == -EOPNOTSUPP)
return NULL; return NULL;
if (res < 0) if (res < 0)
@ -899,7 +899,7 @@ char *ovl_get_redirect_xattr(struct dentry *dentry, int padding)
if (!buf) if (!buf)
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
res = vfs_getxattr(dentry, OVL_XATTR_REDIRECT, buf, res); res = ovl_do_getxattr(dentry, OVL_XATTR_REDIRECT, buf, res);
if (res < 0) if (res < 0)
goto fail; goto fail;
if (res == 0) if (res == 0)