All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v8 0/5] smb: improve search speed of SMB2 maperror
@ 2026-01-06  7:15 chenxiaosong.chenxiaosong
  2026-01-06  7:15 ` [PATCH v8 1/5] cifs: Label SMB2 statuses with errors chenxiaosong.chenxiaosong
                   ` (5 more replies)
  0 siblings, 6 replies; 11+ messages in thread
From: chenxiaosong.chenxiaosong @ 2026-01-06  7:15 UTC (permalink / raw)
  To: smfrench, linkinjeon, pc, ronniesahlberg, sprasad, tom, bharathsm,
	senozhatsky, dhowells
  Cc: linux-cifs, ChenXiaoSong

From: ChenXiaoSong <chenxiaosong@kylinos.cn>

Sort `smb2_error_map_table` array at build time, thanks to David for his patches.

v7: https://lore.kernel.org/linux-cifs/20251231130918.1168557-1-chenxiaosong.chenxiaosong@linux.dev/
v7->v8:
  - Patch #04 #05: use `const struct status_to_posix_error *`
  - Patch #04: update print message in map_smb2_to_linux_error()
               - pr_notice(..., err_map->smb2_status, ...)
               - cifs_dbg(..., le32_to_cpu(smb2err), ...)

v4: https://lore.kernel.org/linux-cifs/20251206151826.2932970-1-chenxiaosong.chenxiaosong@linux.dev/
The following patches from v4 have already been merged into the mainline:
  - 01ab0d1640e3 smb/server: rename include guard in smb_common.h
  - d8f52650b24d smb/client: update some SMB2 status strings
  - d159702c9492 smb/client: add two elements to smb2_error_map_table array
  - 523ecd976632 smb: rename to STATUS_SMB_NO_PREAUTH_INTEGRITY_HASH_OVERLAP
  - bf80d1517dc8 smb/client: remove unused elements from smb2_error_map_table array
  - 6c1eb31ecb97 smb/client: reduce loop count in map_smb2_to_linux_error() by half

When searching for the last element and printing error message,
the comparison count are shown in the table below:

+----------+--------+--------+
|          | Before | After  |
|          |Patchset|Patchset|
+----------+--------+--------+
|Comparison|  3486  |   10   |
|  Count   |        |        |
+----------+--------+--------+

ChenXiaoSong (3):
  smb/client: check whether smb2_error_map_table is sorted in ascending
    order
  smb/client: use bsearch() to find target in smb2_error_map_table
  smb/client: introduce KUnit test to check search result of
    smb2_error_map_table

David Howells (2):
  cifs: Label SMB2 statuses with errors
  cifs: Autogenerate SMB2 error mapping table

 fs/smb/Kconfig                    |   17 +
 fs/smb/client/Makefile            |   14 +
 fs/smb/client/cifsfs.c            |    5 +
 fs/smb/client/gen_smb2_mapping    |   86 +
 fs/smb/client/smb2maperror.c      | 2469 +-------------------
 fs/smb/client/smb2maperror_test.c |   45 +
 fs/smb/client/smb2proto.h         |    1 +
 fs/smb/common/smb2status.h        | 3488 ++++++++++++++---------------
 8 files changed, 1973 insertions(+), 4152 deletions(-)
 create mode 100644 fs/smb/client/gen_smb2_mapping
 create mode 100644 fs/smb/client/smb2maperror_test.c

-- 
2.43.0


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

end of thread, other threads:[~2026-01-16 14:52 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-06  7:15 [PATCH v8 0/5] smb: improve search speed of SMB2 maperror chenxiaosong.chenxiaosong
2026-01-06  7:15 ` [PATCH v8 1/5] cifs: Label SMB2 statuses with errors chenxiaosong.chenxiaosong
2026-01-06  7:15 ` [PATCH v8 2/5] cifs: Autogenerate SMB2 error mapping table chenxiaosong.chenxiaosong
2026-01-16  8:14   ` ChenXiaoSong
2026-01-16 13:48   ` Aurélien Aptel
2026-01-16 14:30     ` ChenXiaoSong
2026-01-16 14:51     ` ChenXiaoSong
2026-01-06  7:15 ` [PATCH v8 3/5] smb/client: check whether smb2_error_map_table is sorted in ascending order chenxiaosong.chenxiaosong
2026-01-06  7:15 ` [PATCH v8 4/5] smb/client: use bsearch() to find target in smb2_error_map_table chenxiaosong.chenxiaosong
2026-01-06  7:15 ` [PATCH v8 5/5] smb/client: introduce KUnit test to check search result of smb2_error_map_table chenxiaosong.chenxiaosong
2026-01-06  9:34 ` [PATCH v8 0/5] smb: improve search speed of SMB2 maperror David Howells

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.