All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/3] erofs-utils: introduce xattr name bloom filter
@ 2023-08-29 14:55 Jingbo Xu
  2023-08-29 14:55 ` [PATCH v7 1/3] erofs-utils: add xxh32 library Jingbo Xu
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Jingbo Xu @ 2023-08-29 14:55 UTC (permalink / raw)
  To: hsiangkao, linux-erofs

changes since v6:
- patch 1: polish license disclaimer; tweak included headers (Gao Xiang)
- patch 2: drop unused `EROFS_XATTR_NAME_LEN_MAX`; polish commit message
  (Gao Xiang)
- patch 3: add warning when failed to calculate hashbit; tweak code of
  assigning `header->h_name_filter` (Gao Xiang)

changes since v5:
- patch 1: update distribution license
- patch 3: rebase to the latest -dev branch

changes since v4:
- patch 3: the feature is refactored and implemented in a more cohesive
  way, that is, the hashbit is calculated in erofs_export_xattr_ibody().
  For xattr_item in the long xattr name prefix style, reconstruct the
  full xattr name first, then derive the corresponding predefined short
  name prefix and finally calculate the hashbit.

changes since v3:
- patch 3: "-Exattr-name-filter" option rather than "--xattr-filter"
  option is newly introduced to enable this feature (Gao Xiang)

changes since v2:
- patch 2: introduce xattr_filter_reserved in on-disk superblock;
  remove EROFS_XATTR_FILTER_MASK
- patch 3: xattr_filter_reserved is always initialized to 0 by default


changes since RFC:
- the number of hash functions is 1, and now it's implemented as:
    xxh32(name, strlen(name), EROFS_XATTR_FILTER_SEED + index),
  where the constant magic number EROFS_XATTR_FILTER_SEED [*] is used to
  give a better spread for the mapping. (Alexander Larsson)
- fix the value of EROFS_FEATURE_COMPAT_XATTR_FILTER; rename
  EROFS_XATTR_BLOOM_* to EROFS_XATTR_FILTER_* (Gao Xiang)


RFC: https://lore.kernel.org/all/20230621083939.128961-1-jefflexu@linux.alibaba.com/
v2: https://lore.kernel.org/all/20230705071017.104130-1-jefflexu@linux.alibaba.com/
v3: https://lore.kernel.org/all/20230712121331.99671-1-jefflexu@linux.alibaba.com/
v4: https://lore.kernel.org/all/20230714025330.42950-1-jefflexu@linux.alibaba.com/
v5: https://lore.kernel.org/all/20230722042414.126630-1-jefflexu@linux.alibaba.com/
v6: https://lore.kernel.org/all/20230829124127.36719-1-jefflexu@linux.alibaba.com/

The xattr bloom filter feature is used to boost the negative xattr
lookup.

Refer to the kernel patch set [*] for more details.

[*] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fd73a4395d47



Jingbo Xu (3):
  erofs-utils: add xxh32 library
  erofs-utils: update on-disk format for xattr name filter
  erofs-utils: mkfs: enable xattr name filter

 include/erofs/config.h   |   1 +
 include/erofs/internal.h |   1 +
 include/erofs/xxhash.h   |  27 +++++++++
 include/erofs_fs.h       |  10 +++-
 lib/Makefile.am          |   3 +-
 lib/xattr.c              |  65 ++++++++++++++++++++
 lib/xxhash.c             | 126 +++++++++++++++++++++++++++++++++++++++
 mkfs/main.c              |   7 +++
 8 files changed, 237 insertions(+), 3 deletions(-)
 create mode 100644 include/erofs/xxhash.h
 create mode 100644 lib/xxhash.c

-- 
2.19.1.6.gb485710b


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

end of thread, other threads:[~2023-08-29 18:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-29 14:55 [PATCH v7 0/3] erofs-utils: introduce xattr name bloom filter Jingbo Xu
2023-08-29 14:55 ` [PATCH v7 1/3] erofs-utils: add xxh32 library Jingbo Xu
2023-08-29 14:55 ` [PATCH v7 2/3] erofs-utils: update on-disk format for xattr name filter Jingbo Xu
2023-08-29 14:55 ` [PATCH v7 3/3] erofs-utils: mkfs: enable " Jingbo Xu
2023-08-29 18:07 ` [PATCH v7 0/3] erofs-utils: introduce xattr name bloom filter Gao Xiang

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.