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:

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)) {
Please check the specification, Which structure name is correct?
thanks.