diff options
Diffstat (limited to 'fs/smb/client/smb2inode.c')
-rw-r--r-- | fs/smb/client/smb2inode.c | 7 |
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); } |