[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251204045818.2590727-1-chenxiaosong.chenxiaosong@linux.dev>
Date: Thu, 4 Dec 2025 12:58:08 +0800
From: chenxiaosong.chenxiaosong@...ux.dev
To: sfrench@...ba.org,
smfrench@...il.com,
linkinjeon@...nel.org,
linkinjeon@...ba.org
Cc: linux-cifs@...r.kernel.org,
linux-kernel@...r.kernel.org,
chenxiaosong@...nxiaosong.com,
ChenXiaoSong <chenxiaosong@...inos.cn>
Subject: [PATCH 00/10] smb: improve search speed of SMB2 maperror
From: ChenXiaoSong <chenxiaosong@...inos.cn>
Before applying this patchset, when searching for the last element of
smb2_error_map_table array and calling smb2_print_status(),
3480 comparisons are needed.
After applying this patchset, only 10 comparisons are required.
ChenXiaoSong (10):
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: 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
smb: create common/common.h and common/common.c
smb: move client/smb2maperror.c to common/
fs/smb/Kconfig | 13 ++
fs/smb/client/Makefile | 2 +-
fs/smb/client/smb2misc.c | 44 ++++++
fs/smb/client/smbencrypt.c | 2 +-
fs/smb/common/Makefile | 3 +-
fs/smb/common/cifs_md4.c | 5 +-
fs/smb/common/common.c | 30 ++++
fs/smb/common/{md4.h => common.h} | 27 +++-
fs/smb/{client => common}/smb2maperror.c | 173 ++++++++++++++---------
fs/smb/common/smb2status.h | 5 +-
fs/smb/server/smb2pdu.c | 2 +-
fs/smb/server/smb_common.h | 6 +-
12 files changed, 227 insertions(+), 85 deletions(-)
create mode 100644 fs/smb/common/common.c
rename fs/smb/common/{md4.h => common.h} (60%)
rename fs/smb/{client => common}/smb2maperror.c (97%)
--
2.43.0
Powered by blists - more mailing lists