ksmbd: set v2 lease version on lease upgrade
authorNamjae Jeon <linkinjeon@kernel.org>
Thu, 14 Dec 2023 23:33:11 +0000 (08:33 +0900)
committerSteve French <stfrench@microsoft.com>
Tue, 9 Jan 2024 18:52:32 +0000 (12:52 -0600)
commitbb05367a66a9990d2c561282f5620bb1dbe40c28
treee53c4b2e6f815994ee273fc15a39f8677099062d
parent516b3eb8c8065f7465f87608d37a7ed08298c7a5
ksmbd: set v2 lease version on lease upgrade

If file opened with v2 lease is upgraded with v1 lease, smb server
should response v2 lease create context to client.
This patch fix smb2.lease.v2_epoch2 test failure.

This test case assumes the following scenario:
 1. smb2 create with v2 lease(R, LEASE1 key)
 2. smb server return smb2 create response with v2 lease context(R,
LEASE1 key, epoch + 1)
 3. smb2 create with v1 lease(RH, LEASE1 key)
 4. smb server return smb2 create response with v2 lease context(RH,
LEASE1 key, epoch + 2)

i.e. If same client(same lease key) try to open a file that is being
opened with v2 lease with v1 lease, smb server should return v2 lease.

Signed-off-by: Namjae Jeon <linkinjeon@kernel.org>
Acked-by: Tom Talpey <tom@talpey.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/oplock.c