summaryrefslogtreecommitdiffstats
path: root/fs/afs/dir.c
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2018-10-20 01:57:57 +0200
committerDavid Howells <dhowells@redhat.com>2018-10-24 01:41:08 +0200
commit0067191201de0d1870ff692368900da5207daf2c (patch)
tree9c0c7f292b0b65eb2ffd8f99ec54045ede50d0dd /fs/afs/dir.c
parentafs: Increase to 64-bit volume ID and 96-bit vnode ID for YFS (diff)
downloadlinux-0067191201de0d1870ff692368900da5207daf2c.tar.xz
linux-0067191201de0d1870ff692368900da5207daf2c.zip
afs: Commit the status on a new file/dir/symlink
Call the function to commit the status on a new file, dir or symlink so that the access rights for the caller's key are cached for that object. Without this, the next access to the file will cause a FetchStatus operation to be emitted to retrieve the access rights. Signed-off-by: David Howells <dhowells@redhat.com>
Diffstat (limited to 'fs/afs/dir.c')
-rw-r--r--fs/afs/dir.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/afs/dir.c b/fs/afs/dir.c
index 024b7cf7441c..8936731c59ff 100644
--- a/fs/afs/dir.c
+++ b/fs/afs/dir.c
@@ -1089,6 +1089,7 @@ static void afs_vnode_new_inode(struct afs_fs_cursor *fc,
vnode = AFS_FS_I(inode);
set_bit(AFS_VNODE_NEW_CONTENT, &vnode->flags);
+ afs_vnode_commit_status(fc, vnode, 0);
d_add(new_dentry, inode);
}