Hi,
I think gcore or other client,no need to understand what is zram and just call readmem to get the data.so i encapsulate try_zram_decompress to readmem,gcore just calling readmem can get right data.It will have better encapsulation,If one day the kernel provides other ram swap,Do we need to add changes in gcore synchronously?
gcore is not so much user-land stuff because it needs to know a variety of kernel data structure and dependencies
among a series of kernel versions. So it's not so much odd to look at ZRAM implementation.
I also tried to write highly encapsulated code for gcore in the past but the real world issues from the past is too complicated
to do so.
If it's just for historical reasons and the problem has been solved,keep this code is unnecessary,it's just my consideration.
The first patch I made was calling try_zram_decompress in gcore.You can also think about this patch.