]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit0723c68c68533d34e07e4436d5a1579a9092bff3
tree48059b4239af8ff4bcd2d0fdc311168eaa29f394
parent8c42de1bfd80583c29be567b4afaf9c2aa771f74
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