From: chenxiaosong.chenxiaosong@linux.dev
To: sfrench@samba.org, smfrench@gmail.com, linkinjeon@kernel.org,
linkinjeon@samba.org
Cc: linux-cifs@vger.kernel.org, linux-kernel@vger.kernel.org,
liuzhengyuan@kylinos.cn, huhai@kylinos.cn, liuyun01@kylinos.cn,
ZhangGuoDong <zhangguodong@kylinos.cn>,
ChenXiaoSong <chenxiaosong@kylinos.cn>
Subject: [PATCH 08/13] smb: move smb3_fs_vol_info into common/fscc.h
Date: Tue, 9 Dec 2025 09:10:14 +0800 [thread overview]
Message-ID: <20251209011020.3270989-9-chenxiaosong.chenxiaosong@linux.dev> (raw)
In-Reply-To: <20251209011020.3270989-1-chenxiaosong.chenxiaosong@linux.dev>
From: ZhangGuoDong <zhangguodong@kylinos.cn>
The structure definition on the server side is specified in MS-CIFS
2.2.8.2.3, but we should instead refer to MS-FSCC 2.5.9, just as the
client side does.
Modify the following places:
- filesystem_vol_info -> smb3_fs_vol_info
- SerialNumber -> VolumeSerialNumber
- VolumeLabelSize -> VolumeLabelLength
Then move it into 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/common/fscc.h | 11 +++++++++++
fs/smb/common/smb2pdu.h | 11 -----------
fs/smb/server/smb2pdu.c | 10 +++++-----
fs/smb/server/smb_common.h | 8 --------
4 files changed, 16 insertions(+), 24 deletions(-)
diff --git a/fs/smb/common/fscc.h b/fs/smb/common/fscc.h
index 5bf6c82e27f7..bd1e0824ac4a 100644
--- a/fs/smb/common/fscc.h
+++ b/fs/smb/common/fscc.h
@@ -138,6 +138,17 @@ typedef struct {
__le32 BytesPerSector;
} __packed FILE_SYSTEM_SIZE_INFO; /* size info, level 0x103 */
+/* volume info struct - see MS-FSCC 2.5.9 */
+#define MAX_VOL_LABEL_LEN 32
+struct smb3_fs_vol_info {
+ __le64 VolumeCreationTime;
+ __u32 VolumeSerialNumber;
+ __le32 VolumeLabelLength; /* includes trailing null */
+ __u8 SupportsObjects; /* True if eg like NTFS, supports objects */
+ __u8 Reserved;
+ __u8 VolumeLabel[]; /* variable len */
+} __packed;
+
/* See MS-FSCC 2.5.10 */
typedef struct {
__le32 DeviceType;
diff --git a/fs/smb/common/smb2pdu.h b/fs/smb/common/smb2pdu.h
index 5d6ca221d4b6..a4804674aaba 100644
--- a/fs/smb/common/smb2pdu.h
+++ b/fs/smb/common/smb2pdu.h
@@ -1938,17 +1938,6 @@ struct smb2_fs_control_info {
__le32 Padding;
} __packed;
-/* volume info struct - see MS-FSCC 2.5.9 */
-#define MAX_VOL_LABEL_LEN 32
-struct smb3_fs_vol_info {
- __le64 VolumeCreationTime;
- __u32 VolumeSerialNumber;
- __le32 VolumeLabelLength; /* includes trailing null */
- __u8 SupportsObjects; /* True if eg like NTFS, supports objects */
- __u8 Reserved;
- __u8 VolumeLabel[]; /* variable len */
-} __packed;
-
/* See MS-SMB2 2.2.23 through 2.2.25 */
struct smb2_oplock_break {
struct smb2_hdr hdr;
diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index ddd031ad7689..4faa44fa9875 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -5514,11 +5514,11 @@ static int smb2_get_info_filesystem(struct ksmbd_work *work,
}
case FS_VOLUME_INFORMATION:
{
- struct filesystem_vol_info *info;
+ struct smb3_fs_vol_info *info;
size_t sz;
unsigned int serial_crc = 0;
- info = (struct filesystem_vol_info *)(rsp->Buffer);
+ info = (struct smb3_fs_vol_info *)(rsp->Buffer);
info->VolumeCreationTime = 0;
serial_crc = crc32_le(serial_crc, share->name,
strlen(share->name));
@@ -5527,14 +5527,14 @@ static int smb2_get_info_filesystem(struct ksmbd_work *work,
serial_crc = crc32_le(serial_crc, ksmbd_netbios_name(),
strlen(ksmbd_netbios_name()));
/* Taking dummy value of serial number*/
- info->SerialNumber = cpu_to_le32(serial_crc);
+ info->VolumeSerialNumber = cpu_to_le32(serial_crc);
len = smbConvertToUTF16((__le16 *)info->VolumeLabel,
share->name, PATH_MAX,
conn->local_nls, 0);
len = len * 2;
- info->VolumeLabelSize = cpu_to_le32(len);
+ info->VolumeLabelLength = cpu_to_le32(len);
info->Reserved = 0;
- sz = sizeof(struct filesystem_vol_info) + len;
+ sz = sizeof(struct smb3_fs_vol_info) + len;
rsp->OutputBufferLength = cpu_to_le32(sz);
break;
}
diff --git a/fs/smb/server/smb_common.h b/fs/smb/server/smb_common.h
index 2baf4aa330eb..b8da31cdbfd1 100644
--- a/fs/smb/server/smb_common.h
+++ b/fs/smb/server/smb_common.h
@@ -90,14 +90,6 @@ struct smb_negotiate_rsp {
__le16 ByteCount;
} __packed;
-struct filesystem_vol_info {
- __le64 VolumeCreationTime;
- __le32 SerialNumber;
- __le32 VolumeLabelSize;
- __le16 Reserved;
- __le16 VolumeLabel[];
-} __packed;
-
#define EXTENDED_INFO_MAGIC 0x43667364 /* Cfsd */
#define STRING_LENGTH 28
--
2.43.0
next prev parent reply other threads:[~2025-12-09 1:12 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-09 1:10 [PATCH 00/13 smb: move duplicate definitions into common header file, part 2 chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 01/13] smb: add documentation references for smb2 change notify definitions chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 02/13] smb: move notify completion filter flags into common/smb2pdu.h chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 03/13] smb: move SMB2 Notify Action Flags " chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 04/13] smb: move file_notify_information to common/fscc.h chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 05/13] smb: move File Attributes definitions into common/fscc.h chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 06/13] smb: update struct duplicate_extents_to_file_ex chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 07/13] smb/server: add comment to FileSystemName of FileFsAttributeInformation chenxiaosong.chenxiaosong
2025-12-09 1:10 ` chenxiaosong.chenxiaosong [this message]
2025-12-09 1:10 ` [PATCH 09/13] smb: move some definitions from common/smb2pdu.h into common/fscc.h chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 10/13] smb/client: remove DeviceType Flags and Device Characteristics definitions chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 11/13] smb: introduce struct create_posix_ctxt_rsp chenxiaosong.chenxiaosong
2025-12-09 23:45 ` Namjae Jeon
2025-12-10 0:12 ` ChenXiaoSong
2025-12-10 0:31 ` Namjae Jeon
2025-12-10 0:37 ` ChenXiaoSong
2025-12-09 1:10 ` [PATCH 12/13] smb: introduce struct file_posix_info chenxiaosong.chenxiaosong
2025-12-09 1:10 ` [PATCH 13/13] smb: move some SMB1 definitions into common/smb1pdu.h chenxiaosong.chenxiaosong
2025-12-09 2:52 ` Steve French
2025-12-09 2:56 ` ChenXiaoSong
2025-12-10 4:34 ` [PATCH 00/13 smb: move duplicate definitions into common header file, part 2 ChenXiaoSong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251209011020.3270989-9-chenxiaosong.chenxiaosong@linux.dev \
--to=chenxiaosong.chenxiaosong@linux.dev \
--cc=chenxiaosong@kylinos.cn \
--cc=huhai@kylinos.cn \
--cc=linkinjeon@kernel.org \
--cc=linkinjeon@samba.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=liuyun01@kylinos.cn \
--cc=liuzhengyuan@kylinos.cn \
--cc=sfrench@samba.org \
--cc=smfrench@gmail.com \
--cc=zhangguodong@kylinos.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.