summaryrefslogtreecommitdiffstats
path: root/fs/9p/acl.c
diff options
context:
space:
mode:
authorAl Viro2013-01-31 19:45:39 +0100
committerAl Viro2013-02-26 08:46:07 +0100
commit3592ac444017996f5a8ecf85856af0a8938e8fd1 (patch)
tree41a4d47c7181075c22b7cf0825d7587bebfeee0e /fs/9p/acl.c
parent9p: split dropping the acls from v9fs_set_create_acl() (diff)
downloadkernel-qcow2-linux-3592ac444017996f5a8ecf85856af0a8938e8fd1.tar.gz
kernel-qcow2-linux-3592ac444017996f5a8ecf85856af0a8938e8fd1.tar.xz
kernel-qcow2-linux-3592ac444017996f5a8ecf85856af0a8938e8fd1.zip
9p: switch v9fs_set_create_acl() to inode+fid, do it before d_instantiate()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/9p/acl.c')
-rw-r--r--fs/9p/acl.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/fs/9p/acl.c b/fs/9p/acl.c
index 5b91689ac0b1..7af425f53bee 100644
--- a/fs/9p/acl.c
+++ b/fs/9p/acl.c
@@ -166,16 +166,13 @@ int v9fs_acl_chmod(struct inode *inode, struct p9_fid *fid)
return retval;
}
-int v9fs_set_create_acl(struct dentry *dentry,
+int v9fs_set_create_acl(struct inode *inode, struct p9_fid *fid,
struct posix_acl *dacl, struct posix_acl *acl)
{
- struct p9_fid *fid = v9fs_fid_lookup(dentry);
- set_cached_acl(dentry->d_inode, ACL_TYPE_DEFAULT, dacl);
- set_cached_acl(dentry->d_inode, ACL_TYPE_ACCESS, acl);
- if (!IS_ERR(fid)) {
- v9fs_set_acl(fid, ACL_TYPE_DEFAULT, dacl);
- v9fs_set_acl(fid, ACL_TYPE_ACCESS, acl);
- }
+ set_cached_acl(inode, ACL_TYPE_DEFAULT, dacl);
+ set_cached_acl(inode, ACL_TYPE_ACCESS, acl);
+ v9fs_set_acl(fid, ACL_TYPE_DEFAULT, dacl);
+ v9fs_set_acl(fid, ACL_TYPE_ACCESS, acl);
return 0;
}