Utilizatorii sistemelor care folosesc mecanismul zRAM pentru stocarea comprimată a partiției de swap în memorie s-au confruntat cu o problemă care duce la eșecul încărcării după actualizarea nucleului Linux la versiunea 6.12. Problema se manifestă în Gentoo, Void și alte distribuții care suportă zRAM și oferă pachete cu versiunile noi ale nucleului.
Cauza eșecului a fost o modificare inclusă în nucleul 6.12, care adaugă posibilitatea de a configura algoritmii de compresie în timpul funcționării. De asemenea, în Kconfig a fost modificată logica de selecție a algoritmilor de compresie disponibili în etapa de compilare a nucleului. Modificarea a dus la probleme în distribuțiile care se bazau pe setările implicite și care nu activaseră separat toate algoritmii disponibili zRAM în configurația Kconfig pentru nucleul 6.12.
După actualizarea la nucleul 6.12, în astfel de distribuții a rămas disponibil pentru selecție doar algoritmul de compresie de bază setat implicit, nu și toți algoritmii susținuți. Prin urmare, la încercarea de a activa în zRAM algoritmi care nu corespundeau cu algoritmul implicit, apărea o eroare la încărcare. De exemplu, la selectarea algoritmului lz4 la încărcare, apărea eroarea „zramctl: /dev/zram0: failed to set algorithm: Invalid argument”, deoarece algoritmii susținuți rămâneau doar lzo, în loc de lzo, lz4, lz4hc, 842 și zstd.
Problema se rezolvă prin includerea în Kconfig a fiecărui backend de compresie în parte (setările CONFIG_ZRAM_BACKEND_* au fost adăugate în nucleul 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"
Sursa: opennet.ro
