From: David Sterba <dsterba@xxxxxxx> Hi, this pull request contains changes regarding kmap API use and eg. conversion from kmap_atomic to kmap_local_page. The API belongs to memory management but to save cross-tree dependency headaches we've agreed to take it through the btrfs tree because there are some trivial conversions possible, while the rest will need some time and getting the easy cases out of the way would be convenient. The final patchset arrived shortly before merge window, which is not perfect, but given that it's straightforward I don't think it's too risky. I've added it to my for-next branch and it's been in linux-next for more than a week. Meanwhile I've been testing it among my regular branches with additional MM related debugging options. The changes can be grouped: - function exports, new helpers - new VM_BUG_ON for additional verification; it's been discussed if it should be VM_BUG_ON or BUG_ON, the former was chosen due to performance reasons - code replaced by relevant helpers Please pull, thanks. ---------------------------------------------------------------- The following changes since commit 92bf22614b21a2706f4993b278017e437f7785b3: Linux 5.11-rc7 (2021-02-07 13:57:38 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux.git kmap-conversion-for-5.12-tag for you to fetch changes up to bbc24c42f2c0ea037db3c7f319c860fd790aeb28: btrfs: convert to zero_user() (2021-02-11 20:18:25 +0100) ---------------------------------------------------------------- Ira Weiny (8): mm/highmem: Lift memcpy_[to|from]_page to core mm/highmem: Convert memcpy_[to|from]_page() to kmap_local_page() mm/highmem: Introduce memcpy_page(), memmove_page(), and memset_page() mm/highmem: Add VM_BUG_ON() to mem*_page() calls iov_iter: Remove memzero_page() in favor of zero_user() btrfs: use memcpy_[to|from]_page() and kmap_local_page() btrfs: use copy_highpage() instead of 2 kmaps() btrfs: convert to zero_user() fs/btrfs/compression.c | 11 +++------- fs/btrfs/extent_io.c | 22 ++++--------------- fs/btrfs/inode.c | 32 ++++++++-------------------- fs/btrfs/lzo.c | 4 ++-- fs/btrfs/raid56.c | 10 +-------- fs/btrfs/reflink.c | 12 ++--------- fs/btrfs/send.c | 7 ++----- fs/btrfs/zlib.c | 10 +++------ fs/btrfs/zstd.c | 11 +++------- include/linux/highmem.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++ lib/iov_iter.c | 26 +++-------------------- 11 files changed, 88 insertions(+), 113 deletions(-)