Re: [PATCH 1/3] ksmbd: set v2 lease version on lease upgrade

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/16/2023 7:29 AM, Namjae Jeon wrote:
If file opened with v2 lease is upgraded with v1 lease, smb server

Can you elaborate on this scenario? Lease v1 is SMB2, while v2 is SMB3.
So how can the same client expect to do both? And how can the server
support that?

MS-SMB2:

3.2.4.3.8 Requesting a Lease on a File or a Directory
...
If Connection.Dialect belongs to the SMB 3.x dialect family, the client MUST attach an
SMB2_CREATE_REQUEST_LEASE_V2 create context to the request. The create context MUST be
formatted as described in section 2.2.13.2.10 with the following values
...
If Connection.Dialect is equal to "2.1", the client MUST attach an SMB2_CREATE_REQUEST_LEASE
create context to the request. The create context MUST be formatted as described in section
2.2.13.2.8, with the LeaseState value provided by the application



Tom.

should response v2 lease create context to client.
This patch fix smb2.lease.v2_epoch2 test failure.

Signed-off-by: Namjae Jeon <linkinjeon@xxxxxxxxxx>
---
  fs/smb/server/oplock.c | 1 +
  1 file changed, 1 insertion(+)

diff --git a/fs/smb/server/oplock.c b/fs/smb/server/oplock.c
index 562b180459a1..9a19d8b06c8c 100644
--- a/fs/smb/server/oplock.c
+++ b/fs/smb/server/oplock.c
@@ -1036,6 +1036,7 @@ static void copy_lease(struct oplock_info *op1, struct oplock_info *op2)
  	lease2->duration = lease1->duration;
  	lease2->flags = lease1->flags;
  	lease2->epoch = lease1->epoch++;
+	lease2->version = lease1->version;
  }
static int add_lease_global_list(struct oplock_info *opinfo)




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux