fs/ntfs3: Changed ntfs_get_acl() to use dentry
ntfs_get_acl changed to match new interface in struct inode_operations. Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
This commit is contained in:
parent
1a6be5fb15
commit
75c5e0c9e5
@ -1143,7 +1143,7 @@ const struct inode_operations ntfs_file_inode_operations = {
|
||||
.getattr = ntfs_getattr,
|
||||
.setattr = ntfs3_setattr,
|
||||
.listxattr = ntfs_listxattr,
|
||||
.get_inode_acl = ntfs_get_acl,
|
||||
.get_acl = ntfs_get_acl,
|
||||
.set_acl = ntfs_set_acl,
|
||||
.fiemap = ntfs_fiemap,
|
||||
};
|
||||
|
@ -607,7 +607,7 @@ const struct inode_operations ntfs_dir_inode_operations = {
|
||||
.rmdir = ntfs_rmdir,
|
||||
.mknod = ntfs_mknod,
|
||||
.rename = ntfs_rename,
|
||||
.get_inode_acl = ntfs_get_acl,
|
||||
.get_acl = ntfs_get_acl,
|
||||
.set_acl = ntfs_set_acl,
|
||||
.setattr = ntfs3_setattr,
|
||||
.getattr = ntfs_getattr,
|
||||
@ -620,7 +620,7 @@ const struct inode_operations ntfs_special_inode_operations = {
|
||||
.setattr = ntfs3_setattr,
|
||||
.getattr = ntfs_getattr,
|
||||
.listxattr = ntfs_listxattr,
|
||||
.get_inode_acl = ntfs_get_acl,
|
||||
.get_acl = ntfs_get_acl,
|
||||
.set_acl = ntfs_set_acl,
|
||||
};
|
||||
|
||||
|
@ -857,11 +857,12 @@ unsigned long ntfs_names_hash(const u16 *name, size_t len, const u16 *upcase,
|
||||
|
||||
/* globals from xattr.c */
|
||||
#ifdef CONFIG_NTFS3_FS_POSIX_ACL
|
||||
struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu);
|
||||
struct posix_acl *ntfs_get_acl(struct mnt_idmap *idmap,
|
||||
struct dentry *dentry, int type);
|
||||
int ntfs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
|
||||
struct posix_acl *acl, int type);
|
||||
int ntfs_init_acl(struct mnt_idmap *idmap, struct inode *inode,
|
||||
struct inode *dir);
|
||||
struct inode *dir);
|
||||
#else
|
||||
#define ntfs_get_acl NULL
|
||||
#define ntfs_set_acl NULL
|
||||
|
@ -520,9 +520,14 @@ out:
|
||||
}
|
||||
|
||||
#ifdef CONFIG_NTFS3_FS_POSIX_ACL
|
||||
static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type,
|
||||
int locked)
|
||||
|
||||
/*
|
||||
* ntfs_get_acl - inode_operations::get_acl
|
||||
*/
|
||||
struct posix_acl *ntfs_get_acl(struct mnt_idmap *idmap,
|
||||
struct dentry *dentry, int type)
|
||||
{
|
||||
struct inode *inode = d_inode(dentry);
|
||||
struct ntfs_inode *ni = ntfs_i(inode);
|
||||
const char *name;
|
||||
size_t name_len;
|
||||
@ -545,13 +550,11 @@ static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type,
|
||||
name_len = sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1;
|
||||
}
|
||||
|
||||
if (!locked)
|
||||
ni_lock(ni);
|
||||
ni_lock(ni);
|
||||
|
||||
err = ntfs_get_ea(inode, name, name_len, buf, PATH_MAX, &req);
|
||||
|
||||
if (!locked)
|
||||
ni_unlock(ni);
|
||||
ni_unlock(ni);
|
||||
|
||||
/* Translate extended attribute to acl. */
|
||||
if (err >= 0) {
|
||||
@ -570,17 +573,6 @@ static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type,
|
||||
return acl;
|
||||
}
|
||||
|
||||
/*
|
||||
* ntfs_get_acl - inode_operations::get_acl
|
||||
*/
|
||||
struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu)
|
||||
{
|
||||
if (rcu)
|
||||
return ERR_PTR(-ECHILD);
|
||||
|
||||
return ntfs_get_acl_ex(inode, type, 0);
|
||||
}
|
||||
|
||||
static noinline int ntfs_set_acl_ex(struct mnt_idmap *idmap,
|
||||
struct inode *inode, struct posix_acl *acl,
|
||||
int type, bool init_acl)
|
||||
|
Loading…
Reference in New Issue
Block a user