Uživatelé systémů, které využívají mechanismus zRAM pro kompresní ukládání swapového oddílu do paměti, narazili na problém, který vedl k selhání zavádění po aktualizaci jádra Linux na verzi 6.12. Problém se projevuje v Gentoo, Void a dalších distribucích, které podporují zRAM a nabízejí balíčky s novými verzemi jádra.
Příčinou selhání byla změna zahrnutá v jádře 6.12, která přidává možnost nastavení kompresních algoritmů za běhu. Současně byla v Kconfig změněna logika výběru dostupných kompresních algoritmů při sestavování jádra. Změna vedla k problémům v distribucích, které se spoléhají na výchozí nastavení a samostatně nezahrnuly všechny dostupné algoritmy zRAM do konfigurace Kconfig pro jádro 6.12.
Po aktualizaci na jádro 6.12 bylo v takových distribucích pro výběr k dispozici pouze výchozí základní kompresní algoritmus, a ne všechny podporované algoritmy. Tím pádem, při pokusu o aktivaci algoritmů v zRAM, které nesouhlasily s výchozím algoritmem, došlo k selhání zavádění. Například při výběru algoritmu lz4 se při zavádění objevila chyba "zramctl: /dev/zram0: failed to set algorithm: Invalid argument", protože z algoritmů zůstala pouze podpora lzo, místo dříve podporovaných lzo, lz4, lz4hc, 842 a zstd.
Problém se řeší zahrnutím každého backendu komprese do Kconfig samostatně (nastavení CONFIG_ZRAM_BACKEND_* byla přidána v jádře 6.12): CONFIG_ZRAM_BACKEND_LZ4=y CONFIG_ZRAM_BACKEND_LZ4HC=y CONFIG_ZRAM_BACKEND_ZSTD=y CONFIG_ZRAM_BACKEND_842=y CONFIG_ZRAM_DEF_COMP_LZO=y CONFIG_ZRAM_DEF_COMP="lzo"
Zdroj: opennet.ru
