summaryrefslogtreecommitdiff
path: root/fs/smb/client/smb2inode.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/smb/client/smb2inode.c')
-rw-r--r--fs/smb/client/smb2inode.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/smb/client/smb2inode.c b/fs/smb/client/smb2inode.c
index cd3901e8649e..d9f3fe7830a0 100644
--- a/fs/smb/client/smb2inode.c
+++ b/fs/smb/client/smb2inode.c
@@ -265,6 +265,9 @@ replay_again:
if (rc)
goto finished;
+ if (num_cmds > 0 && cmds[0] == SMB2_OP_MKDIR && oplock == SMB2_OPLOCK_LEVEL_LEASE && oparms->fid)
+ server->ops->new_lease_key(oparms->fid);
+
smb2_set_next_command(tcon, &rqst[num_rqst]);
after_open:
num_rqst++;
@@ -1222,9 +1225,7 @@ mkdir_compound:
}
out:
if (parent_cfid) {
- mutex_lock(&parent_cfid->dirents.de_mutex);
- parent_cfid->dirents.is_valid = false;
- mutex_unlock(&parent_cfid->dirents.de_mutex);
+ invalidate_dirents(parent_cfid);
close_cached_dir(parent_cfid);
}