From: zhang.guodong@linux.dev
To: smfrench@gmail.com, linkinjeon@kernel.org, pc@manguebit.org,
ronniesahlberg@gmail.com, sprasad@microsoft.com, tom@talpey.com,
bharathsm@microsoft.com, senozhatsky@chromium.org,
dhowells@redhat.com, chenxiaosong@kylinos.cn,
chenxiaosong@chenxiaosong.com
Cc: linux-cifs@vger.kernel.org
Subject: [PATCH v5 5/7] smb: move file_basic_info into common/fscc.h
Date: Tue, 3 Mar 2026 15:13:15 +0000 [thread overview]
Message-ID: <20260303151317.136332-6-zhang.guodong@linux.dev> (raw)
In-Reply-To: <20260303151317.136332-1-zhang.guodong@linux.dev>
From: ZhangGuoDong <zhangguodong@kylinos.cn>
This struct definition is specified in MS-FSCC, so move them into fscc.h.
Modify the following places:
- smb2_file_basic_info -> file_basic_info
- Pad1 -> Pad
Signed-off-by: ZhangGuoDong <zhangguodong@kylinos.cn>
Reviewed-by: ChenXiaoSong <chenxiaosong@kylinos.cn>
---
fs/smb/client/smb1pdu.h | 9 ---------
fs/smb/common/fscc.h | 10 ++++++++++
fs/smb/server/smb2pdu.c | 14 +++++++-------
fs/smb/server/smb2pdu.h | 9 ---------
4 files changed, 17 insertions(+), 25 deletions(-)
diff --git a/fs/smb/client/smb1pdu.h b/fs/smb/client/smb1pdu.h
index 97f7e1244a8b..7584e94d9b2b 100644
--- a/fs/smb/client/smb1pdu.h
+++ b/fs/smb/client/smb1pdu.h
@@ -2061,15 +2061,6 @@ typedef struct {
__le32 EASize;
} __packed FILE_INFO_STANDARD; /* level 1 SetPath/FileInfo */
-typedef struct {
- __le64 CreationTime;
- __le64 LastAccessTime;
- __le64 LastWriteTime;
- __le64 ChangeTime;
- __le32 Attributes;
- __u32 Pad;
-} __packed FILE_BASIC_INFO; /* size info, level 0x101 */
-
struct file_allocation_info {
__le64 AllocationSize; /* Note old Samba srvr rounds this up too much */
} __packed; /* size used on disk, for level 0x103 for set, 0x105 for query */
diff --git a/fs/smb/common/fscc.h b/fs/smb/common/fscc.h
index 415cba02d1c9..076cbcffa26a 100644
--- a/fs/smb/common/fscc.h
+++ b/fs/smb/common/fscc.h
@@ -216,6 +216,16 @@ struct smb2_file_all_info { /* data block encoding of response to level 18 */
};
} __packed; /* level 18 Query */
+/* See MS-FSCC 2.4.7 */
+typedef struct file_basic_info { /* data block encoding of response to level 18 */
+ __le64 CreationTime;
+ __le64 LastAccessTime;
+ __le64 LastWriteTime;
+ __le64 ChangeTime;
+ __le32 Attributes;
+ __u32 Pad;
+} __packed FILE_BASIC_INFO; /* size info, level 0x101 */
+
/* See MS-FSCC 2.4.8 */
typedef struct {
__le32 NextEntryOffset;
diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c
index 743c629fe7ec..5126394337bc 100644
--- a/fs/smb/server/smb2pdu.c
+++ b/fs/smb/server/smb2pdu.c
@@ -4839,7 +4839,7 @@ static void get_file_access_info(struct smb2_query_info_rsp *rsp,
static int get_file_basic_info(struct smb2_query_info_rsp *rsp,
struct ksmbd_file *fp, void *rsp_org)
{
- struct smb2_file_basic_info *basic_info;
+ struct file_basic_info *basic_info;
struct kstat stat;
u64 time;
int ret;
@@ -4855,7 +4855,7 @@ static int get_file_basic_info(struct smb2_query_info_rsp *rsp,
if (ret)
return ret;
- basic_info = (struct smb2_file_basic_info *)rsp->Buffer;
+ basic_info = (struct file_basic_info *)rsp->Buffer;
basic_info->CreationTime = cpu_to_le64(fp->create_time);
time = ksmbd_UnixTimeToNT(stat.atime);
basic_info->LastAccessTime = cpu_to_le64(time);
@@ -4864,9 +4864,9 @@ static int get_file_basic_info(struct smb2_query_info_rsp *rsp,
time = ksmbd_UnixTimeToNT(stat.ctime);
basic_info->ChangeTime = cpu_to_le64(time);
basic_info->Attributes = fp->f_ci->m_fattr;
- basic_info->Pad1 = 0;
+ basic_info->Pad = 0;
rsp->OutputBufferLength =
- cpu_to_le32(sizeof(struct smb2_file_basic_info));
+ cpu_to_le32(sizeof(struct file_basic_info));
return 0;
}
@@ -6137,7 +6137,7 @@ static int smb2_create_link(struct ksmbd_work *work,
}
static int set_file_basic_info(struct ksmbd_file *fp,
- struct smb2_file_basic_info *file_info,
+ struct file_basic_info *file_info,
struct ksmbd_share_config *share)
{
struct iattr attrs;
@@ -6419,10 +6419,10 @@ static int smb2_set_info_file(struct ksmbd_work *work, struct ksmbd_file *fp,
switch (req->FileInfoClass) {
case FILE_BASIC_INFORMATION:
{
- if (buf_len < sizeof(struct smb2_file_basic_info))
+ if (buf_len < sizeof(struct file_basic_info))
return -EMSGSIZE;
- return set_file_basic_info(fp, (struct smb2_file_basic_info *)buffer, share);
+ return set_file_basic_info(fp, (struct file_basic_info *)buffer, share);
}
case FILE_ALLOCATION_INFORMATION:
{
diff --git a/fs/smb/server/smb2pdu.h b/fs/smb/server/smb2pdu.h
index 8b6eafb70dca..e7cf573e59f0 100644
--- a/fs/smb/server/smb2pdu.h
+++ b/fs/smb/server/smb2pdu.h
@@ -186,15 +186,6 @@ struct smb2_file_alignment_info {
__le32 AlignmentRequirement;
} __packed;
-struct smb2_file_basic_info { /* data block encoding of response to level 18 */
- __le64 CreationTime; /* Beginning of FILE_BASIC_INFO equivalent */
- __le64 LastAccessTime;
- __le64 LastWriteTime;
- __le64 ChangeTime;
- __le32 Attributes;
- __u32 Pad1; /* End of FILE_BASIC_INFO_INFO equivalent */
-} __packed;
-
struct smb2_file_alt_name_info {
__le32 FileNameLength;
char FileName[];
--
2.52.0
next prev parent reply other threads:[~2026-03-03 15:14 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-03 15:13 [PATCH v5 0/7] smb: fix some bugs, move duplicate definitions into common header file, part 2 zhang.guodong
2026-03-03 15:13 ` [PATCH v5 1/7] smb/client: fix buffer size for smb311_posix_qinfo in smb2_compound_op() zhang.guodong
2026-03-03 23:58 ` Steve French
2026-03-04 0:07 ` ZhangGuoDong
2026-03-04 0:06 ` Steve French
2026-03-03 15:13 ` [PATCH v5 2/7] smb/client: fix buffer size for smb311_posix_qinfo in SMB311_posix_query_info() zhang.guodong
2026-03-04 0:05 ` Steve French
2026-03-03 15:13 ` [PATCH v5 3/7] smb/client: remove unused SMB311_posix_query_info() zhang.guodong
2026-03-04 0:05 ` Steve French
2026-03-03 15:13 ` [PATCH v5 4/7] smb: move some definitions from common/smb2pdu.h into common/fscc.h zhang.guodong
2026-03-03 15:13 ` zhang.guodong [this message]
2026-03-03 15:13 ` [PATCH v5 6/7] smb: move filesystem_vol_info " zhang.guodong
2026-03-03 15:13 ` [PATCH v5 7/7] smb: introduce struct file_posix_info zhang.guodong
2026-03-10 1:02 ` Namjae Jeon
2026-03-10 1:17 ` ZhangGuoDong
2026-03-10 1:25 ` Namjae Jeon
2026-03-10 1:31 ` ZhangGuoDong
2026-03-10 0:57 ` [PATCH v5 0/7] smb: fix some bugs, move duplicate definitions into common header file, part 2 Namjae Jeon
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=20260303151317.136332-6-zhang.guodong@linux.dev \
--to=zhang.guodong@linux.dev \
--cc=bharathsm@microsoft.com \
--cc=chenxiaosong@chenxiaosong.com \
--cc=chenxiaosong@kylinos.cn \
--cc=dhowells@redhat.com \
--cc=linkinjeon@kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=pc@manguebit.org \
--cc=ronniesahlberg@gmail.com \
--cc=senozhatsky@chromium.org \
--cc=smfrench@gmail.com \
--cc=sprasad@microsoft.com \
--cc=tom@talpey.com \
/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.