Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix the following three issues: (1) swap cache missing page tree offset The radix or xarray start at an offset inside struct address_space. (2) swap cache entries are pointer to struct page The entries in radix, xarray (swap cache) are address to struct page. (3) exclude shadow entries from swap cache lookup radix or xarray can contain shadow entries from previous page entries. These should be ignored when looking for a page pointer. Without the patch, - lookup_swap_cache() returns NULL since do_xarray() call returns FALSE, - in try_zram_decompress(), since 'entry' is NULL, page is filled with 0, if (!entry || (flags & ZRAM_FLAG_SAME_BIT)) { and pages in swap cache will be seen to be a 'zero' page. Signed-off-by: Johan Erlandsson <[email protected]> Signed-off-by: Kazuhito Hagio <[email protected]>
- Loading branch information