Re: [PATCH v4 19/24] smb/server: remove create_durable_reconn_req
From: ChenXiaoSong
Date: Wed Oct 29 2025 - 00:18:32 EST
They are:
- SMB2_CREATE_DURABLE_HANDLE_REQUEST in MS-SMB2 2.2.13.2.3
- SMB2_CREATE_DURABLE_HANDLE_RECONNECT in MS-SMB2 2.2.13.2.4
- SMB2_FILEID in MS-SMB2 2.2.14.1
We can uniformly name them create_durable:
struct create_durable {
...
union {
__u8 Reserved[16]; // DurableRequest of SMB2_CREATE_DURABLE_HANDLE_REQUEST, A 16-byte field that MUST NOT be used and MUST be reserved. This value MUST be set to 0 by the client and ignored by the server.
struct {
__u64 PersistentFileId; // See 2.2.14.1 SMB2_FILEID
__u64 VolatileFileId; // See 2.2.14.1 SMB2_FILEID
} Fid; // Data of SMB2_CREATE_DURABLE_HANDLE_RECONNECT, An SMB2_FILEID structure, as specified in section 2.2.14.1, for the open that is being reestablished.
} Data;
} __packed;
Thanks,
ChenXiaoSong.
On 10/29/25 11:54 AM, Namjae Jeon wrote:
On Mon, Oct 27, 2025 at 4:23 PM <chenxiaosong.chenxiaosong@xxxxxxxxx> wrote:
Please check the specification, Which structure name is correct?
From: ChenXiaoSong <chenxiaosong@xxxxxxxxxx>
The fields in struct create_durable_reconn_req and struct create_durable
are exactly the same.
Signed-off-by: ChenXiaoSong <chenxiaosong@xxxxxxxxxx>
---
fs/smb/server/smb2pdu.c | 6 +++---
fs/smb/server/smb2pdu.h | 12 ------------
2 files changed, 3 insertions(+), 15 deletions(-)
diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index 6b3503c7bfaa..3e8344fa163b 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -2766,7 +2766,7 @@ static int parse_durable_handle_context(struct ksmbd_work *work,
}
case DURABLE_RECONN:
{
- struct create_durable_reconn_req *recon;
+ struct create_durable *recon;
if (dh_info->type == DURABLE_RECONN_V2 ||
dh_info->type == DURABLE_REQ_V2) {
@@ -2776,12 +2776,12 @@ static int parse_durable_handle_context(struct ksmbd_work *work,
if (le16_to_cpu(context->DataOffset) +
le32_to_cpu(context->DataLength) <
- sizeof(struct create_durable_reconn_req)) {
+ sizeof(struct create_durable)) {
thanks.