summaryrefslogtreecommitdiff
path: root/fs/smb/server/vfs.c
diff options
context:
space:
mode:
authorNamjae Jeon <linkinjeon@kernel.org>2023-12-08 14:37:56 +0900
committerSteve French <stfrench@microsoft.com>2023-12-08 10:11:33 -0600
commitc2a721eead71202a0d8ddd9b56ec8dce652c71d1 (patch)
treefb170fa8b90d4920aae3a6e1ccd6e45ee4803fbe /fs/smb/server/vfs.c
parentd47d9886aeef79feba7adac701a510d65f3682b5 (diff)
ksmbd: lazy v2 lease break on smb2_write()
Don't immediately send directory lease break notification on smb2_write(). Instead, It postpones it until smb2_close(). Signed-off-by: Namjae Jeon <linkinjeon@kernel.org> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/smb/server/vfs.c')
-rw-r--r--fs/smb/server/vfs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/smb/server/vfs.c b/fs/smb/server/vfs.c
index 9091dcd7a310..4277750a6da1 100644
--- a/fs/smb/server/vfs.c
+++ b/fs/smb/server/vfs.c
@@ -517,6 +517,9 @@ int ksmbd_vfs_write(struct ksmbd_work *work, struct ksmbd_file *fp,
}
}
+ /* Reserve lease break for parent dir at closing time */
+ fp->reserve_lease_break = true;
+
/* Do we need to break any of a levelII oplock? */
smb_break_all_levII_oplock(work, fp, 1);