btrfs: zlib: replace kmap() with kmap_local_page() in zlib_decompress_bio()
authorFabio M. De Francesco <fmdefrancesco@gmail.com>
Sat, 18 Jun 2022 09:19:01 +0000 (11:19 +0200)
committerDavid Sterba <dsterba@suse.com>
Mon, 25 Jul 2022 15:45:41 +0000 (17:45 +0200)
commit5a6e6e7ce6b7df615a971f30bf4215b2dc389612
tree48059b4239af8ff4bcd2d0fdc311168eaa29f394
parent718e58551aecf7a63aa643ec0668a0374eee9de0
btrfs: zlib: replace kmap() with kmap_local_page() in zlib_decompress_bio()

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_decompress_bio()
because in this function the mappings are per thread and are not visible
in other contexts.

Tested with xfstests on QEMU + KVM 32-bits VM with 4GB of RAM and
HIGHMEM64G enabled. This patch passes 26/26 tests of group "compress".

Suggested-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Ira Weiny <ira.weiny@intel.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/zlib.c