Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 78a3fa4f authored by Miklos Szeredi's avatar Miklos Szeredi
Browse files

ovl: use generic_readlink



All filesystems that are backers for overlayfs would also use
generic_readlink().  Move this logic to the overlay itself, which is a nice
cleanup.

Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
parent cb348edb
Loading
Loading
Loading
Loading
+1 −20
Original line number Diff line number Diff line
@@ -176,25 +176,6 @@ static const char *ovl_get_link(struct dentry *dentry,
	return p;
}

static int ovl_readlink(struct dentry *dentry, char __user *buf, int bufsiz)
{
	struct path realpath;
	struct inode *realinode;
	const struct cred *old_cred;
	int err;

	ovl_path_real(dentry, &realpath);
	realinode = realpath.dentry->d_inode;

	if (!realinode->i_op->readlink)
		return -EINVAL;

	old_cred = ovl_override_creds(dentry->d_sb);
	err = realinode->i_op->readlink(realpath.dentry, buf, bufsiz);
	revert_creds(old_cred);
	return err;
}

bool ovl_is_private_xattr(const char *name)
{
	return strncmp(name, OVL_XATTR_PREFIX,
@@ -381,7 +362,7 @@ static const struct inode_operations ovl_file_inode_operations = {
static const struct inode_operations ovl_symlink_inode_operations = {
	.setattr	= ovl_setattr,
	.get_link	= ovl_get_link,
	.readlink	= ovl_readlink,
	.readlink	= generic_readlink,
	.getattr	= ovl_getattr,
	.setxattr	= generic_setxattr,
	.getxattr	= generic_getxattr,