>>> Hi
>>> Sharing 3 changes for zram regarding swap cache handling. Please have a
look.
>>>
>>> Subject: [PATCH 1/3] zram, swap cache missing page tree offset
>>> Subject: [PATCH 2/3] zram, swap cache entries are pointer to struct page
>>> Subject: [PATCH 3/3] zram, exclude shadow entries from swap cache lookup
>>
>> Thank you for the patches.
>>
>> > /* this already exists in maple_tree.h add to defs.h ? */
>>
>> Is it ok to add '#include maple_tree.h' ?
>
> Yes, that should work perfectly for 'xa_is_value'.
Thanks for the reply.
I'd like to squash the patches into a patch and add our signed-off-by
tags. Please let me know if there is any trouble with the attached patch.
All looks good, verified.
One more thing, do you have any error message without the patch? I'd
like to add it to the commit log, if possible.
No, I haven't seen any error messages. Short description what happens:
- lookup_swap_cache() return NULL since do_xarray() call return FALSE
- in try_zram_decompress(), since 'entry' is NULL, page is filled with 00
if (!entry || (flags & ZRAM_FLAG_SAME_BIT)) {
So without the patch, pages in swap cache will be seen to be a 'zero' page.
Regards
Johan
Thanks,
Kazu
>
>>
>> and the warning below is emitted, this can be fixed when merging.
>>
>> diskdump.c: In function 'lookup_swap_cache':
>> diskdump.c:2890:29: warning: unused variable 'page' [-Wunused-variable]
>> ulong swp_type, swp_space, page;
>> ^~~~
>
> Sorry, I missed that one. Thanks for reviewing.
>
> Johan