linux-cifs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/10] smb: improve search speed of SMB2 maperror
@ 2025-12-04  4:58 chenxiaosong.chenxiaosong
  2025-12-04  4:58 ` [PATCH 01/10] smb/client: reduce loop count in map_smb2_to_linux_error() by half chenxiaosong.chenxiaosong
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: chenxiaosong.chenxiaosong @ 2025-12-04  4:58 UTC (permalink / raw)
  To: sfrench, smfrench, linkinjeon, linkinjeon
  Cc: linux-cifs, linux-kernel, chenxiaosong, ChenXiaoSong

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(),
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


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-12-05  3:03 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-12-04  4:58 [PATCH 00/10] smb: improve search speed of SMB2 maperror chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 01/10] smb/client: reduce loop count in map_smb2_to_linux_error() by half chenxiaosong.chenxiaosong
2025-12-04  5:49   ` Steve French
2025-12-04  5:55     ` ChenXiaoSong
2025-12-04  4:58 ` [PATCH 02/10] smb/client: remove unused elements from smb2_error_map_table array chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 03/10] smb: add two elements to " chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 04/10] smb/client: sort " chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 05/10] smb/client: use bsearch() to find target status code chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 06/10] smb/client: introduce smb2_get_err_map() chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 07/10] smb/client: introduce smb2maperror KUnit tests chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 08/10] smb/server: rename include guard in smb_common.h chenxiaosong.chenxiaosong
2025-12-04  4:58 ` [PATCH 09/10] smb: create common/common.h and common/common.c chenxiaosong.chenxiaosong
2025-12-05  0:35   ` Namjae Jeon
2025-12-05  0:58     ` ChenXiaoSong
2025-12-05  1:36       ` Steve French
2025-12-05  1:44         ` ChenXiaoSong
2025-12-05  1:50           ` Steve French
2025-12-05  2:14             ` ChenXiaoSong
2025-12-05  3:02               ` ChenXiaoSong
2025-12-04  4:58 ` [PATCH 10/10] smb: move client/smb2maperror.c to common/ chenxiaosong.chenxiaosong
2025-12-04 20:39   ` kernel test robot
2025-12-04 21:12   ` kernel test robot
2025-12-05  2:35   ` kernel test robot

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).