Re: [PATCH v2] erofs: deprecate superblock checksum feature

From: Gao Xiang
Date: Sun Jul 30 2023 - 10:05:22 EST



Hi Thomas,

On 2023/7/30 21:31, Thomas Weißschuh wrote:
On 2023-07-17 19:27:03+0800, Jingbo Xu wrote:
Later we're going to try the self-contained image verification.
The current superblock checksum feature has quite limited
functionality, instead, merkle trees can provide better protection
for image integrity.

The crc32c checksum is also used by libblkid to gain more confidence
in its filesystem detection.
I guess a merkle tree would be much harder to implement.

This is for example used by the mount(8) cli program to allow mounting
of devices without explicitly needing to specify a filesystem.

Note: libblkid tests for EROFS_FEATURE_SB_CSUM so at least it won't
break when the checksum is removed.
I'm not sure if we could switch EROFS_FEATURE_SB_CSUM to a simpler
checksum instead (e.g. just sum each byte up if both
EROFS_FEATURE_SB_CSUM and COMPAT_XATTR_FILTER bits are set, or
ignore checksums completely at least in the kernel) if the better
filesystem detection by using sb chksum is needed (not sure if other
filesystems have sb chksum or just do magic comparsion)?

The main problem here is after xattr name filter feature is added
(xxhash is generally faster than crc32c), there could be two
hard-depended hashing algorithms, this increases more dependency
especially for embededed devices.

Thanks,
Gao Xiang