ubifs_decompress: cannot decompress 2293 bytes, compressor lzo, error -22

Scott Zhang macromarship at gmail.com
Thu Apr 14 09:45:23 PDT 2022


Hello. Everyone.
     I encountered a strange problem about ubifs. My embed linux runs
well normally. But after about 3-4 days, developing php application,
copying files etc.. the /opt partition when read, the system become
very slow. After check dmesg
the output contains full of debug logs as below.

[17588.040000] UBIFS error (ubi0:0 pid 15691): do_readpage: cannot
read page 15 of inode 396, error -22
[17590.080000] UBIFS error (ubi0:0 pid 15695): ubifs_decompress:
cannot decompress 2293 bytes, compressor lzo, error -22
[17590.090000] UBIFS error (ubi0:0 pid 15695): do_readpage: bad data
node (block 15, inode 396)
lots of hex dump, seems normal data

Based on my understanding of ubi and ubi fs. The bottomest nand driver
has the ecc correction, then ubi has crc32 to verify data write and
read. Then when data come to ubifs, the data should be always correct.
Anything wrong will be reported firstly by ubi below or mtd nand
driver below.
So the msg shows above confuse me. Why did decompress fail for passed
crc32 data?
Is there anyway to simple drop the block 15, inode 396 so no warning
anymore. Even so many logs dumped ,the system continues runs , but
ramdomly hangs. Maybe no hang, the linux run led continues blink,
network led blink, the ping ip is not react.
Because I port the nand driver myself, and port everything to make
nand working. So Is there a possibility I make ecc checksum wrong,
then get this wierd problem?

I googled first, and only see related discuss on 2011 but can't see it help.
https://linux-mtd.infradead.narkive.com/c65SedYp/ubifs-decompress-cannot-decompress

Thanks.
Scott Zhang



More information about the linux-mtd mailing list