Hi Geert, On 2021/2/23 15:42, Geert Uytterhoeven wrote:
I checked the code in menu_finalize(), and this seems to work like this.I discussed the oddity of the select behavior before (https://lore.kernel.org/linux-kbuild/[email protected]/), but I was not confident about what the right direction was. Anyway, the behavior is obscure from the current code. If you want to make this more robust, you can write as follows: config F2FS_FS tristate "F2FS filesystem support" depends on BLOCK select NLS select CRYPTO select CRYPTO_CRC32 select F2FS_FS_XATTR if FS_ENCRYPTION select FS_ENCRYPTION_ALGS if FS_ENCRYPTION select LZO_COMPRESS if F2FS_FS_LZO select LZO_DECOMPRESS if F2FS_FS_LZO select LZ4_COMPRESS if F2FS_FS_LZ4 select LZ4_DECOMPRESS if F2FS_FS_LZ4 select LZ4HC_COMPRESS if F2FS_FS_LZ4HC select ZSTD_COMPRESS if F2FS_FS_ZSTD select ZSTD_DECOMPRESS if F2FS_FS_ZSTD The code is a bit clumsy, but it is clear that the module (F2FS_FS) is selecting the compress/decompress libraries.Actually the above is what I tried first ;-) Works fine. Then I started to look for similar cases in other file systems (e.g. EROFS_FS_ZIP), and discovered the issue doesn't happen there, which sparked my investigation. So I settled on the direct dependency, because it keeps all compression-related logic together.
It looks above way is more explicit, how about using your previous implementation? Thank,
Gr{oetje,eeting}s,

