Commit 75c5e0c9 authored by Konstantin Komarov's avatar Konstantin Komarov

fs/ntfs3: Changed ntfs_get_acl() to use dentry

ntfs_get_acl changed to match new interface in struct inode_operations.
Signed-off-by: default avatarKonstantin Komarov <almaz.alexandrovich@paragon-software.com>
parent 1a6be5fb
...@@ -1143,7 +1143,7 @@ const struct inode_operations ntfs_file_inode_operations = { ...@@ -1143,7 +1143,7 @@ const struct inode_operations ntfs_file_inode_operations = {
.getattr = ntfs_getattr, .getattr = ntfs_getattr,
.setattr = ntfs3_setattr, .setattr = ntfs3_setattr,
.listxattr = ntfs_listxattr, .listxattr = ntfs_listxattr,
.get_inode_acl = ntfs_get_acl, .get_acl = ntfs_get_acl,
.set_acl = ntfs_set_acl, .set_acl = ntfs_set_acl,
.fiemap = ntfs_fiemap, .fiemap = ntfs_fiemap,
}; };
......
...@@ -607,7 +607,7 @@ const struct inode_operations ntfs_dir_inode_operations = { ...@@ -607,7 +607,7 @@ const struct inode_operations ntfs_dir_inode_operations = {
.rmdir = ntfs_rmdir, .rmdir = ntfs_rmdir,
.mknod = ntfs_mknod, .mknod = ntfs_mknod,
.rename = ntfs_rename, .rename = ntfs_rename,
.get_inode_acl = ntfs_get_acl, .get_acl = ntfs_get_acl,
.set_acl = ntfs_set_acl, .set_acl = ntfs_set_acl,
.setattr = ntfs3_setattr, .setattr = ntfs3_setattr,
.getattr = ntfs_getattr, .getattr = ntfs_getattr,
...@@ -620,7 +620,7 @@ const struct inode_operations ntfs_special_inode_operations = { ...@@ -620,7 +620,7 @@ const struct inode_operations ntfs_special_inode_operations = {
.setattr = ntfs3_setattr, .setattr = ntfs3_setattr,
.getattr = ntfs_getattr, .getattr = ntfs_getattr,
.listxattr = ntfs_listxattr, .listxattr = ntfs_listxattr,
.get_inode_acl = ntfs_get_acl, .get_acl = ntfs_get_acl,
.set_acl = ntfs_set_acl, .set_acl = ntfs_set_acl,
}; };
......
...@@ -857,11 +857,12 @@ unsigned long ntfs_names_hash(const u16 *name, size_t len, const u16 *upcase, ...@@ -857,11 +857,12 @@ unsigned long ntfs_names_hash(const u16 *name, size_t len, const u16 *upcase,
/* globals from xattr.c */ /* globals from xattr.c */
#ifdef CONFIG_NTFS3_FS_POSIX_ACL #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, int ntfs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
struct posix_acl *acl, int type); struct posix_acl *acl, int type);
int ntfs_init_acl(struct mnt_idmap *idmap, struct inode *inode, int ntfs_init_acl(struct mnt_idmap *idmap, struct inode *inode,
struct inode *dir); struct inode *dir);
#else #else
#define ntfs_get_acl NULL #define ntfs_get_acl NULL
#define ntfs_set_acl NULL #define ntfs_set_acl NULL
......
...@@ -520,9 +520,14 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name, ...@@ -520,9 +520,14 @@ static noinline int ntfs_set_ea(struct inode *inode, const char *name,
} }
#ifdef CONFIG_NTFS3_FS_POSIX_ACL #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); struct ntfs_inode *ni = ntfs_i(inode);
const char *name; const char *name;
size_t name_len; size_t name_len;
...@@ -545,13 +550,11 @@ static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type, ...@@ -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; 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); 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. */ /* Translate extended attribute to acl. */
if (err >= 0) { if (err >= 0) {
...@@ -570,17 +573,6 @@ static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type, ...@@ -570,17 +573,6 @@ static struct posix_acl *ntfs_get_acl_ex(struct inode *inode, int type,
return acl; 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, static noinline int ntfs_set_acl_ex(struct mnt_idmap *idmap,
struct inode *inode, struct posix_acl *acl, struct inode *inode, struct posix_acl *acl,
int type, bool init_acl) int type, bool init_acl)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment