fs/ntfs3: Remove unnecessary functions
We don't need ntfs_xattr_get_acl and ntfs_xattr_set_acl. There are ntfs_get_acl_ex and ntfs_set_acl_ex. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
This commit is contained in:
Родитель
8241fffae7
Коммит
95dd8b2c1e
|
@ -616,67 +616,6 @@ int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
|
||||||
return ntfs_set_acl_ex(mnt_userns, inode, acl, type);
|
return ntfs_set_acl_ex(mnt_userns, inode, acl, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns,
|
|
||||||
struct inode *inode, int type, void *buffer,
|
|
||||||
size_t size)
|
|
||||||
{
|
|
||||||
struct posix_acl *acl;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
if (!(inode->i_sb->s_flags & SB_POSIXACL)) {
|
|
||||||
ntfs_inode_warn(inode, "add mount option \"acl\" to use acl");
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
acl = ntfs_get_acl(inode, type);
|
|
||||||
if (IS_ERR(acl))
|
|
||||||
return PTR_ERR(acl);
|
|
||||||
|
|
||||||
if (!acl)
|
|
||||||
return -ENODATA;
|
|
||||||
|
|
||||||
err = posix_acl_to_xattr(mnt_userns, acl, buffer, size);
|
|
||||||
posix_acl_release(acl);
|
|
||||||
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns,
|
|
||||||
struct inode *inode, int type, const void *value,
|
|
||||||
size_t size)
|
|
||||||
{
|
|
||||||
struct posix_acl *acl;
|
|
||||||
int err;
|
|
||||||
|
|
||||||
if (!(inode->i_sb->s_flags & SB_POSIXACL)) {
|
|
||||||
ntfs_inode_warn(inode, "add mount option \"acl\" to use acl");
|
|
||||||
return -EOPNOTSUPP;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!inode_owner_or_capable(mnt_userns, inode))
|
|
||||||
return -EPERM;
|
|
||||||
|
|
||||||
if (!value) {
|
|
||||||
acl = NULL;
|
|
||||||
} else {
|
|
||||||
acl = posix_acl_from_xattr(mnt_userns, value, size);
|
|
||||||
if (IS_ERR(acl))
|
|
||||||
return PTR_ERR(acl);
|
|
||||||
|
|
||||||
if (acl) {
|
|
||||||
err = posix_acl_valid(mnt_userns, acl);
|
|
||||||
if (err)
|
|
||||||
goto release_and_out;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
err = ntfs_set_acl(mnt_userns, inode, acl, type);
|
|
||||||
|
|
||||||
release_and_out:
|
|
||||||
posix_acl_release(acl);
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* ntfs_init_acl - Initialize the ACLs of a new inode.
|
* ntfs_init_acl - Initialize the ACLs of a new inode.
|
||||||
*
|
*
|
||||||
|
@ -843,23 +782,6 @@ static int ntfs_getxattr(const struct xattr_handler *handler, struct dentry *de,
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_NTFS3_FS_POSIX_ACL
|
|
||||||
if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 &&
|
|
||||||
!memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS,
|
|
||||||
sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) ||
|
|
||||||
(name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 &&
|
|
||||||
!memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT,
|
|
||||||
sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) {
|
|
||||||
/* TODO: init_user_ns? */
|
|
||||||
err = ntfs_xattr_get_acl(
|
|
||||||
&init_user_ns, inode,
|
|
||||||
name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1
|
|
||||||
? ACL_TYPE_ACCESS
|
|
||||||
: ACL_TYPE_DEFAULT,
|
|
||||||
buffer, size);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
/* Deal with NTFS extended attribute. */
|
/* Deal with NTFS extended attribute. */
|
||||||
err = ntfs_get_ea(inode, name, name_len, buffer, size, NULL);
|
err = ntfs_get_ea(inode, name, name_len, buffer, size, NULL);
|
||||||
|
|
||||||
|
@ -972,22 +894,6 @@ set_new_fa:
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_NTFS3_FS_POSIX_ACL
|
|
||||||
if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 &&
|
|
||||||
!memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS,
|
|
||||||
sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) ||
|
|
||||||
(name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 &&
|
|
||||||
!memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT,
|
|
||||||
sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) {
|
|
||||||
err = ntfs_xattr_set_acl(
|
|
||||||
mnt_userns, inode,
|
|
||||||
name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1
|
|
||||||
? ACL_TYPE_ACCESS
|
|
||||||
: ACL_TYPE_DEFAULT,
|
|
||||||
value, size);
|
|
||||||
goto out;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
/* Deal with NTFS extended attribute. */
|
/* Deal with NTFS extended attribute. */
|
||||||
err = ntfs_set_ea(inode, name, name_len, value, size, flags);
|
err = ntfs_set_ea(inode, name, name_len, value, size, flags);
|
||||||
|
|
||||||
|
|
Загрузка…
Ссылка в новой задаче