Re: [PATCH v3 03/22] smb: move some duplicate definitions to common/cifsglob.h

Namjae Jeon
2025-10-20T04:39:18Z

On Tue, Oct 14, 2025 at 4:21 PM <chenxiaosong.chenxiaosong@linux.dev> wrote:
>
> From: ZhangGuoDong <zhangguodong@kylinos.cn>
>
> In order to maintain the code more easily, move duplicate definitions to
> new common header file.
>
> Co-developed-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
> Signed-off-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
> Signed-off-by: ZhangGuoDong <zhangguodong@kylinos.cn>
> ---
> fs/smb/client/cifsglob.h | 19 +------------------
> fs/smb/common/cifsglob.h | 30 ++++++++++++++++++++++++++++++
> fs/smb/server/smb_common.h | 14 +-------------
> 3 files changed, 32 insertions(+), 31 deletions(-)
> create mode 100644 fs/smb/common/cifsglob.h
>
> diff --git a/fs/smb/client/cifsglob.h b/fs/smb/client/cifsglob.h
> index 8f6f567d7474..c5034cf9ac9e 100644
> --- a/fs/smb/client/cifsglob.h
> +++ b/fs/smb/client/cifsglob.h
> @@ -24,6 +24,7 @@
> #include "cifsacl.h"
> #include <crypto/internal/hash.h>
> #include <uapi/linux/cifs/cifs_mount.h>
> +#include "../common/cifsglob.h"
cifs is a legacy name. How about renaming it smbglob.h?
> #include "../common/smb2pdu.h"
> #include "smb2pdu.h"
> #include <linux/filelock.h>
> @@ -702,12 +703,6 @@ get_rfc1002_length(void *buf)
> return be32_to_cpu(*((__be32 *)buf)) & 0xffffff;
> }
>
> -static inline void
> -inc_rfc1001_len(void *buf, int count)
> -{
> - be32_add_cpu((__be32 *)buf, count);
> -}
> -
> struct TCP_Server_Info {
> struct list_head tcp_ses_list;
> struct list_head smb_ses_list;
> @@ -1021,8 +1016,6 @@ compare_mid(__u16 mid, const struct smb_hdr *smb)
> #define CIFS_MAX_RFC1002_WSIZE ((1<<17) - 1 - sizeof(WRITE_REQ) + 4)
> #define CIFS_MAX_RFC1002_RSIZE ((1<<17) - 1 - sizeof(READ_RSP) + 4)
>
> -#define CIFS_DEFAULT_IOSIZE (1024 * 1024)
> -
> /*
> * Windows only supports a max of 60kb reads and 65535 byte writes. Default to
> * those values when posix extensions aren't in force. In actuality here, we
> @@ -2148,30 +2141,20 @@ extern mempool_t cifs_io_request_pool;
> extern mempool_t cifs_io_subrequest_pool;
>
> /* Operations for different SMB versions */
> -#define SMB1_VERSION_STRING "1.0"
> -#define SMB20_VERSION_STRING "2.0"
> #ifdef CONFIG_CIFS_ALLOW_INSECURE_LEGACY
> extern struct smb_version_operations smb1_operations;
> extern struct smb_version_values smb1_values;
> extern struct smb_version_operations smb20_operations;
> extern struct smb_version_values smb20_values;
> #endif /* CIFS_ALLOW_INSECURE_LEGACY */
> -#define SMB21_VERSION_STRING "2.1"
> extern struct smb_version_operations smb21_operations;
> extern struct smb_version_values smb21_values;
> -#define SMBDEFAULT_VERSION_STRING "default"
> extern struct smb_version_values smbdefault_values;
> -#define SMB3ANY_VERSION_STRING "3"
> extern struct smb_version_values smb3any_values;
> -#define SMB30_VERSION_STRING "3.0"
> extern struct smb_version_operations smb30_operations;
> extern struct smb_version_values smb30_values;
> -#define SMB302_VERSION_STRING "3.02"
> -#define ALT_SMB302_VERSION_STRING "3.0.2"
> /*extern struct smb_version_operations smb302_operations;*/ /* not needed yet */
> extern struct smb_version_values smb302_values;
> -#define SMB311_VERSION_STRING "3.1.1"
> -#define ALT_SMB311_VERSION_STRING "3.11"
> extern struct smb_version_operations smb311_operations;
> extern struct smb_version_values smb311_values;
>
> diff --git a/fs/smb/common/cifsglob.h b/fs/smb/common/cifsglob.h
> new file mode 100644
> index 000000000000..00fd215e3eb5
> --- /dev/null
> +++ b/fs/smb/common/cifsglob.h
> @@ -0,0 +1,30 @@
> +/* SPDX-License-Identifier: LGPL-2.1 */
> +/*
> + *
> + * Copyright (C) International Business Machines Corp., 2002,2008
> + * Author(s): Steve French (sfrench@us.ibm.com)
> + * Jeremy Allison (jra@samba.org)
> + *
> + */
> +#ifndef _COMMON_CIFS_GLOB_H
> +#define _COMMON_CIFS_GLOB_H
> +
> +static inline void inc_rfc1001_len(void *buf, int count)
> +{
> + be32_add_cpu((__be32 *)buf, count);
> +}
> +
> +#define SMB1_VERSION_STRING "1.0"
> +#define SMB20_VERSION_STRING "2.0"
> +#define SMB21_VERSION_STRING "2.1"
> +#define SMBDEFAULT_VERSION_STRING "default"
> +#define SMB3ANY_VERSION_STRING "3"
> +#define SMB30_VERSION_STRING "3.0"
> +#define SMB302_VERSION_STRING "3.02"
> +#define ALT_SMB302_VERSION_STRING "3.0.2"
> +#define SMB311_VERSION_STRING "3.1.1"
> +#define ALT_SMB311_VERSION_STRING "3.11"
> +
> +#define CIFS_DEFAULT_IOSIZE (1024 * 1024)
> +
> +#endif /* _COMMON_CIFS_GLOB_H */
> diff --git a/fs/smb/server/smb_common.h b/fs/smb/server/smb_common.h
> index d742ba754348..863716207a0d 100644
> --- a/fs/smb/server/smb_common.h
> +++ b/fs/smb/server/smb_common.h
> @@ -10,6 +10,7 @@
>
> #include "glob.h"
> #include "nterr.h"
> +#include "../common/cifsglob.h"
> #include "../common/smb2pdu.h"
> #include "smb2pdu.h"
>
> @@ -26,16 +27,8 @@
> #define SMB311_PROT 6
> #define BAD_PROT 0xFFFF
>
> -#define SMB1_VERSION_STRING "1.0"
> -#define SMB20_VERSION_STRING "2.0"
> -#define SMB21_VERSION_STRING "2.1"
> -#define SMB30_VERSION_STRING "3.0"
> -#define SMB302_VERSION_STRING "3.02"
> -#define SMB311_VERSION_STRING "3.1.1"
> -
> #define SMB_ECHO_INTERVAL (60 * HZ)
>
> -#define CIFS_DEFAULT_IOSIZE (64 * 1024)
> #define MAX_CIFS_SMALL_BUFFER_SIZE 448 /* big enough for most */
>
> #define MAX_STREAM_PROT_LEN 0x00FFFFFF
> @@ -464,9 +457,4 @@ static inline unsigned int get_rfc1002_len(void *buf)
> {
> return be32_to_cpu(*((__be32 *)buf)) & 0xffffff;
> }
> -
> -static inline void inc_rfc1001_len(void *buf, int count)
> -{
> - be32_add_cpu((__be32 *)buf, count);
> -}
> #endif /* __SMB_COMMON_H__ */
> --
> 2.43.0
>