[PATCH v6 0/2] erofs: introduce xattr name bloom filter
Jingbo Xu
jefflexu at linux.alibaba.com
Sat Jul 22 19:45:36 AEST 2023
changes since v5:
- patch 2: declare `hashbit` as unsigned int instead of uint32_t (Gao
Xiang)
changes since v4:
- patch 2: polish commit message; declare erofs_inode.xattr_name_filter
as unsigned int instead of unsigned long; rename `bit` to `hashbit`;
use bitwise and instead of test_bit() to test the hashbit (Gao Xiang)
changes since v3:
- patch 1: add "Reviewed-by" tag (Gao Xiang)
- patch 2: make CONFIG_EROFS_FS_XATTR select CONFIG_XXHASH (Gao Xiang)
changes since v2:
- patch 1: polish the commit message; introduce xattr_filter_reserved in
on-disk superblock; remove EROFS_XATTR_FILTER_MASK (Gao Xiang)
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)
Refer to patch 1 for more details.
- fix the value of EROFS_FEATURE_COMPAT_XATTR_BLOOM; rename
EROFS_XATTR_BLOOM_* to EROFS_XATTR_FILTER_* (Gao Xiang)
- pass all tests in erofs-utils (MKFS_OPTIONS="--xattr-filter" make
check)
[*] https://lore.kernel.org/all/74a8a369-c3b0-b338-fa8f-fdd7c252efaf@linux.alibaba.com/
RFC: https://lore.kernel.org/all/20230621083209.116024-1-jefflexu@linux.alibaba.com/
v2: https://lore.kernel.org/all/20230705070427.92579-1-jefflexu@linux.alibaba.com/
v3: https://lore.kernel.org/all/20230712115123.33712-1-jefflexu@linux.alibaba.com/
v4: https://lore.kernel.org/all/20230714031034.53210-1-jefflexu@linux.alibaba.com/
v5: https://lore.kernel.org/all/20230721104923.20236-1-jefflexu@linux.alibaba.com/
Jingbo Xu (2):
erofs: update on-disk format for xattr name filter
erofs: boost negative xattr lookup with bloom filter
fs/erofs/Kconfig | 1 +
fs/erofs/erofs_fs.h | 10 ++++++++--
fs/erofs/internal.h | 3 +++
fs/erofs/super.c | 1 +
fs/erofs/xattr.c | 14 ++++++++++++++
5 files changed, 27 insertions(+), 2 deletions(-)
--
2.19.1.6.gb485710b
More information about the Linux-erofs
mailing list