diff options
author | Fabio M. De Francesco <[email protected]> | 2022-06-27 18:33:05 +0200 |
---|---|---|
committer | David Sterba <[email protected]> | 2022-07-25 17:45:40 +0200 |
commit | 718e58551aecf7a63aa643ec0668a0374eee9de0 (patch) | |
tree | 65f8a7c110f65b0c31675328cab7e3c7f6556f27 /fs/btrfs/inode.c | |
parent | ebd23482efa3d077a9461af29a093bdce3d3a2b8 (diff) |
btrfs: zlib: replace kmap() with kmap_local_page() in zlib_compress_pages()
The use of kmap() is being deprecated in favor of kmap_local_page(). With
kmap_local_page(), the mapping is per thread, CPU local and not globally
visible.
Therefore, use kmap_local_page() / kunmap_local() in zlib_compress_pages()
because in this function the mappings are per thread and are not visible
in other contexts. Furthermore, drop the mappings of "out_page" which is
allocated within zlib_compress_pages() with alloc_page(GFP_NOFS) and use
page_address().
Tested with xfstests on a QEMU + KVM 32-bits VM with 4GB of RAM booting
a kernel with HIGHMEM64G enabled. This patch passes 26/26 tests of group
"compress".
CC: Qu Wenruo <[email protected]>
Suggested-by: Ira Weiny <[email protected]>
Reviewed-by: Ira Weiny <[email protected]>
Signed-off-by: Fabio M. De Francesco <[email protected]>
Reviewed-by: David Sterba <[email protected]>
Signed-off-by: David Sterba <[email protected]>
Diffstat (limited to 'fs/btrfs/inode.c')
0 files changed, 0 insertions, 0 deletions