diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2013-01-31 13:45:39 -0500 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2013-02-26 02:46:07 -0500 |
commit | 3592ac444017996f5a8ecf85856af0a8938e8fd1 (patch) | |
tree | 41a4d47c7181075c22b7cf0825d7587bebfeee0e /fs/9p/acl.c | |
parent | 5fa6300ae0ccf76018775ea16bc3a061cadc39a6 (diff) | |
download | linux-stable-3592ac444017996f5a8ecf85856af0a8938e8fd1.tar.gz linux-stable-3592ac444017996f5a8ecf85856af0a8938e8fd1.tar.bz2 linux-stable-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.c | 13 |
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; } |