linux/fs/btrfs
Fabio M. De Francesco ebd23482ef btrfs: zstd: replace kmap() with kmap_local_page()
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 zstd.c because in this
file the mappings are per thread and are not visible in other contexts. In
the meanwhile use plain page_address() on output pages allocated with
the GFP_NOFS flag instead of calling kmap*() on them (since they are
always allocated from ZONE_NORMAL).

Tested with xfstests on QEMU + KVM 32 bits VM with 4GB of RAM, booting a
kernel with HIGHMEM64G enabled.

Suggested-by: Ira Weiny <ira.weiny@intel.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>
2022-07-25 17:45:40 +02:00
..
tests btrfs: clean up chained assignments 2022-07-25 17:45:39 +02:00
acl.c
async-thread.c
async-thread.h btrfs: remove unused typedefs get_extent_t and btrfs_work_func_t 2022-07-25 17:45:36 +02:00
backref.c btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino 2022-07-25 17:45:36 +02:00
backref.h btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino 2022-07-25 17:45:36 +02:00
block-group.c btrfs: merge calculations for simple striped profiles in btrfs_rmap_block 2022-07-25 17:45:38 +02:00
block-group.h btrfs: zoned: prevent allocation from previous data relocation BG 2022-06-21 14:43:48 +02:00
block-rsv.c btrfs: use enum for btrfs_block_rsv::type 2022-07-25 17:45:40 +02:00
block-rsv.h btrfs: use enum for btrfs_block_rsv::type 2022-07-25 17:45:40 +02:00
btrfs_inode.h btrfs: remove the inode cache check at btrfs_is_free_space_inode() 2022-07-25 17:45:39 +02:00
check-integrity.c
check-integrity.h
compression.c btrfs: do not return errors from btrfs_map_bio 2022-07-25 17:45:39 +02:00
compression.h btrfs: don't use btrfs_bio_wq_end_io for compressed writes 2022-07-25 17:45:33 +02:00
ctree.c
ctree.h btrfs: collect commit stats, count, duration 2022-07-25 17:45:37 +02:00
delalloc-space.c
delalloc-space.h
delayed-inode.c btrfs: batch up release of reserved metadata for delayed items used for deletion 2022-07-25 17:45:37 +02:00
delayed-inode.h btrfs: reduce amount of reserved metadata for delayed item insertion 2022-07-25 17:44:36 +02:00
delayed-ref.c btrfs: switch btrfs_block_rsv::full to bool 2022-07-25 17:45:40 +02:00
delayed-ref.h
dev-replace.c btrfs: clean up chained assignments 2022-07-25 17:45:39 +02:00
dev-replace.h
dir-item.c
discard.c
discard.h
disk-io.c btrfs: handle allocation failure in btrfs_wq_submit_bio gracefully 2022-07-25 17:45:40 +02:00
disk-io.h btrfs: handle allocation failure in btrfs_wq_submit_bio gracefully 2022-07-25 17:45:40 +02:00
export.c
export.h
extent_io.c btrfs: remove extent writepage address space operation 2022-07-25 17:45:37 +02:00
extent_io.h btrfs: remove extent writepage address space operation 2022-07-25 17:45:37 +02:00
extent_map.c
extent_map.h
extent-io-tree.h
extent-tree.c btrfs: use named constant for reserved device space 2022-07-25 17:45:36 +02:00
file-item.c
file.c btrfs: don't fallback to buffered IO for NOWAIT direct IO writes 2022-07-25 17:45:40 +02:00
free-space-cache.c btrfs: clean up chained assignments 2022-07-25 17:45:39 +02:00
free-space-cache.h
free-space-tree.c
free-space-tree.h
inode-item.c
inode-item.h
inode.c btrfs: switch btrfs_block_rsv::failfast to bool 2022-07-25 17:45:40 +02:00
ioctl.c btrfs: sink iterator parameter to btrfs_ioctl_logical_to_ino 2022-07-25 17:45:36 +02:00
Kconfig
locking.c btrfs: don't set lock_owner when locking extent buffer for reading 2022-06-21 14:46:56 +02:00
locking.h
lzo.c btrfs: replace kmap() with kmap_local_page() in lzo.c 2022-07-25 17:45:33 +02:00
Makefile
misc.h
ordered-data.c btrfs: remove the finish_func argument to btrfs_mark_ordered_io_finished 2022-07-25 17:45:37 +02:00
ordered-data.h btrfs: remove the finish_func argument to btrfs_mark_ordered_io_finished 2022-07-25 17:45:37 +02:00
orphan.c
print-tree.c
print-tree.h
props.c
props.h
qgroup.c
qgroup.h
raid56.c btrfs: raid56: transfer the bio counter reference to the raid submission helpers 2022-07-25 17:45:40 +02:00
raid56.h btrfs: do not return errors from raid56_parity_recover 2022-07-25 17:45:39 +02:00
rcu-string.h
ref-verify.c
ref-verify.h
reflink.c btrfs: clean up chained assignments 2022-07-25 17:45:39 +02:00
reflink.h
relocation.c Page cache changes for 5.19 2022-05-24 19:55:07 -07:00
root-tree.c
scrub.c btrfs: do not return errors from raid56_parity_recover 2022-07-25 17:45:39 +02:00
send.c btrfs: send: add new command FILEATTR for file attributes 2022-07-25 17:45:38 +02:00
send.h btrfs: send: add new command FILEATTR for file attributes 2022-07-25 17:45:38 +02:00
space-info.c btrfs: store chunk size in space-info struct 2022-07-25 17:45:32 +02:00
space-info.h btrfs: store chunk size in space-info struct 2022-07-25 17:45:32 +02:00
struct-funcs.c btrfs: remove redundant check in up check_setget_bounds 2022-07-25 17:45:33 +02:00
subpage.c btrfs: remove extent writepage address space operation 2022-07-25 17:45:37 +02:00
subpage.h
super.c btrfs: use mask for all RAID1* profiles in btrfs_calc_avail_data_space 2022-07-25 17:45:38 +02:00
sysfs.c btrfs: sysfs: remove BIG_METADATA feature files 2022-07-25 17:45:39 +02:00
sysfs.h
transaction.c btrfs: clean up chained assignments 2022-07-25 17:45:39 +02:00
transaction.h
tree-checker.c
tree-checker.h
tree-defrag.c
tree-log.c btrfs: tree-log: make the return value for log syncing consistent 2022-07-25 17:45:34 +02:00
tree-log.h btrfs: tree-log: make the return value for log syncing consistent 2022-07-25 17:45:34 +02:00
tree-mod-log.c
tree-mod-log.h
ulist.c
ulist.h
uuid-tree.c
verity.c
volumes.c btrfs: raid56: transfer the bio counter reference to the raid submission helpers 2022-07-25 17:45:40 +02:00
volumes.h btrfs: do not return errors from btrfs_map_bio 2022-07-25 17:45:39 +02:00
xattr.c
xattr.h
zlib.c
zoned.c btrfs: zoned: fix comment description for sb_write_pointer logic 2022-07-25 17:44:33 +02:00
zoned.h btrfs: zoned: prevent allocation from previous data relocation BG 2022-06-21 14:43:48 +02:00
zstd.c btrfs: zstd: replace kmap() with kmap_local_page() 2022-07-25 17:45:40 +02:00