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,
ChenXiaoSong <chenxiaosong@kylinos.cn>
Subject: [PATCH v3 0/9] smb: improve search speed of SMB2 maperror
Date: Fri, 5 Dec 2025 21:25:26 +0800 [thread overview]
Message-ID: <20251205132536.2703110-1-chenxiaosong.chenxiaosong@linux.dev> (raw)
From: ChenXiaoSong <chenxiaosong@kylinos.cn>
Before applying this patchset, when searching for the last element of
smb2_error_map_table array and calling smb2_print_status(),
3486 comparisons are needed.
After applying this patchset, only 10 comparisons are required.
v1: https://lore.kernel.org/linux-cifs/20251204045818.2590727-1-chenxiaosong.chenxiaosong@linux.dev/
The three patches from v1 have already been applied to the for-next branch of cifs-2.6.git.
Please replace the following patches:
- [v1 01/10] smb/client: reduce loop count in map_smb2_to_linux_error() by half: https://git.samba.org/sfrench/?p=sfrench/cifs-2.6.git;a=commitdiff;h=26866d690bd180e1860548c43e70fdefe50638ff
- Replace it with this version(v3) patch #0001: update commit message: array has 1743 elements
- [v1 02/10] smb/client: remove unused elements from smb2_error_map_table array: https://git.samba.org/sfrench/?p=sfrench/cifs-2.6.git;a=commitdiff;h=905d8999d67dcbe4ce12ef87996e4440e068196d
- It is the same as patch #0002 in this version(v3).
- [v1 03/10] smb: add two elements to smb2_error_map_table array: https://git.samba.org/sfrench/?p=sfrench/cifs-2.6.git;a=commitdiff;h=ba521f56912f6ff5121e54c17c855298f947c9ea
- Replace it with this version(v3) patch #0003 #0004.
v2: https://lore.kernel.org/all/20251205042958.2658496-1-chenxiaosong.chenxiaosong@linux.dev/
v2->v3:
- Patch #0007: move struct status_to_posix_error to smb2glob.h,
change smb2_get_err_map to be a global function,
delete unused forward declaration `struct statfs` in smb2proto.h.
- Patch #0008: create new smb2maperror_test.c, refer to the implementation in fs/ext4/mballoc-test.c.
ChenXiaoSong (9):
smb/client: reduce loop count in map_smb2_to_linux_error() by half
smb/client: remove unused elements from smb2_error_map_table array
smb: rename to STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP
smb/client: add two elements to smb2_error_map_table array
smb/client: sort smb2_error_map_table array
smb/client: use bsearch() to find target status code
smb/client: introduce smb2_get_err_map()
smb/client: introduce smb2maperror KUnit tests
smb/server: rename include guard in smb_common.h
fs/smb/Kconfig | 17 ++++++
fs/smb/client/cifsfs.c | 2 +
fs/smb/client/smb2glob.h | 6 ++
fs/smb/client/smb2maperror.c | 91 ++++++++++++++++++-------------
fs/smb/client/smb2maperror_test.c | 86 +++++++++++++++++++++++++++++
fs/smb/client/smb2proto.h | 4 +-
fs/smb/common/smb2status.h | 5 +-
fs/smb/server/smb2pdu.c | 2 +-
fs/smb/server/smb_common.h | 6 +-
9 files changed, 174 insertions(+), 45 deletions(-)
create mode 100644 fs/smb/client/smb2maperror_test.c
--
2.43.0
next reply other threads:[~2025-12-05 13:26 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-05 13:25 chenxiaosong.chenxiaosong [this message]
2025-12-05 13:25 ` [PATCH v3 1/9] smb/client: reduce loop count in map_smb2_to_linux_error() by half chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 2/9] smb/client: remove unused elements from smb2_error_map_table array chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 3/9] smb: rename to STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 4/9] smb/client: add two elements to smb2_error_map_table array chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 5/9] smb/client: sort " chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 6/9] smb/client: use bsearch() to find target status code chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 7/9] smb/client: introduce smb2_get_err_map() chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 8/9] smb/client: introduce smb2maperror KUnit tests chenxiaosong.chenxiaosong
2025-12-05 13:25 ` [PATCH v3 9/9] smb/server: rename include guard in smb_common.h chenxiaosong.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=20251205132536.2703110-1-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 \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).