From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id AFBBBC00140 for ; Tue, 2 Aug 2022 16:56:49 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1FEAD6B0071; Tue, 2 Aug 2022 12:56:49 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1876A6B0072; Tue, 2 Aug 2022 12:56:49 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 027C68E0001; Tue, 2 Aug 2022 12:56:48 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id E18596B0071 for ; Tue, 2 Aug 2022 12:56:48 -0400 (EDT) Received: from smtpin02.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id BC5A1C130F for ; Tue, 2 Aug 2022 16:56:48 +0000 (UTC) X-FDA: 79755256896.02.3879E37 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf09.hostedemail.com (Postfix) with ESMTP id 7B98D140120 for ; Tue, 2 Aug 2022 16:56:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Type:MIME-Version:Message-ID: Subject:Cc:To:From:Date:Sender:Reply-To:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=LUYZ91fgBjlrpD7laxD0m0Uj+y50AqmmSOqwUbX21is=; b=ZvCeW4toPs57Du8AJZfHecJtDI 3IEmxXo0K4Vz37PB3ivNjeIu8gXOY0tBtfxRY5LrlJrSS61tDHxqd0G3DnH48xUQxFztOaM7AQ5Kt qd+WjJxMg7nw6dXh3VkjyHw7d7TpUyW5VhZLoZg7U2CYEWuUvBmrW9XolpftgHYbIWKvr8dnwFMc0 REmK7BjQ2YyNuW3o7Yl8CtwNP8sXqMLeJ+Q7EE+8I9V7fm6xX+NRrYGPilymJukYARdHRaraBUHfI 7PMMxfahjZvn9C0xnjFKEGUiVwxB5vjEkm1p3scJI3Ww8UbjTKXTxSkqvaackxmK6oOR/waP4iD7o FHerMtTQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1oIvCD-008WRR-B4; Tue, 02 Aug 2022 16:56:41 +0000 Date: Tue, 2 Aug 2022 17:56:41 +0100 From: Matthew Wilcox To: Linus Torvalds Cc: linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [GIT PULL] Pagecache changes for 6.0-rc1 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline ARC-Authentication-Results: i=1; imf09.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ZvCeW4to; spf=none (imf09.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1659459408; a=rsa-sha256; cv=none; b=jzufx6drtf9jdyrbE/tvB9Dv9/iKEPmqQix2FIDzqL5AfaenQFIb8ObfYmMKJKXFyrlAvt URaBu73xrCSakb8hylCRJ4oQFlZ+9UBtxb8jScAqdUi2LnDRKcUJwPLfKwbuRtTqKgdDpT Ho5mSSmNsk0Gvkie/UkmqTauj2wITh0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1659459408; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=LUYZ91fgBjlrpD7laxD0m0Uj+y50AqmmSOqwUbX21is=; b=QfenaZcKeMHSvNNjnBPfGkg3gd8ruIpTCUW+n884bQwQ5mT9PWq86NRDdBsFGJTXxjj+5B MzaqPUw4t30NTuGr+lfQLVgom1U1y4hzodaMuwoHuut7HJeCCEA6bdvClpRPWxgxntFPiP NAS19ej2sT8wAIUEWI7XS3UdilDRneE= X-Stat-Signature: d3pipadrptgenzqfg8cspjyz33qknakt X-Rspamd-Queue-Id: 7B98D140120 X-Rspam-User: X-Rspamd-Server: rspam05 Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=ZvCeW4to; spf=none (imf09.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none X-HE-Tag: 1659459406-311526 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: The following changes since commit 0840a7914caa14315a3191178a9f72c742477860: Merge tag 'char-misc-5.19-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc (2022-06-25 10:07:36 -0700) are available in the Git repository at: git://git.infradead.org/users/willy/pagecache.git tags/folio-6.0 for you to fetch changes up to cf5e7a652168fba45410ac6f5b363fcf8677dea5: fs: remove the NULL get_block case in mpage_writepages (2022-08-02 12:34:04 -0400) ---------------------------------------------------------------- Folio changes for 6.0 - Fix an accounting bug that made NR_FILE_DIRTY grow without limit when running xfstests - Convert more of mpage to use folios - Remove add_to_page_cache() and add_to_page_cache_locked() - Convert find_get_pages_range() to filemap_get_folios() - Improvements to the read_cache_page() family of functions - Remove a few unnecessary checks of PageError - Some straightforward filesystem conversions to use folios - Split PageMovable users out from address_space_operations into their own movable_operations - Convert aops->migratepage to aops->migrate_folio - Remove nobh support (Christoph Hellwig) ---------------------------------------------------------------- Christoph Hellwig (6): ntfs3: refactor ntfs_writepages ext2: remove nobh support jfs: stop using the nobh helper fs: remove the nobh helpers fs: don't call ->writepage from __mpage_writepage fs: remove the NULL get_block case in mpage_writepages Matthew Wilcox (Oracle) (72): mm: Account dirty folios properly during splits mm: Remove __delete_from_page_cache() mpage: Convert do_mpage_readpage() to use a folio hugetlb: Convert huge_add_to_page_cache() to use a folio filemap: Remove add_to_page_cache() and add_to_page_cache_locked() filemap: Add filemap_get_folios() buffer: Convert clean_bdev_aliases() to use filemap_get_folios() ext4: Convert mpage_release_unused_pages() to use filemap_get_folios() ext4: Convert mpage_map_and_submit_buffers() to use filemap_get_folios() f2fs: Convert f2fs_invalidate_compress_pages() to use filemap_get_folios() hugetlbfs: Convert remove_inode_hugepages() to use filemap_get_folios() nilfs2: Convert nilfs_copy_back_pages() to use filemap_get_folios() vmscan: Add check_move_unevictable_folios() shmem: Convert shmem_unlock_mapping() to use filemap_get_folios() filemap: Remove find_get_pages_range() and associated functions netfs: Remove extern from function prototypes filemap: Move 'filler' case to the end of do_read_cache_folio() filemap: Handle AOP_TRUNCATED_PAGE in do_read_cache_folio() filemap: Use filemap_read_folio() in do_read_cache_folio() docs: Improve ->read_folio documentation block: Remove check of PageError afs: Remove check of PageError freevxfs: Remove check of PageError hfs: Remove check for PageError hfsplus: Remove check for PageError ntfs: Remove check for PageError ext2: Remove check for PageError nilfs2: Remove check for PageError ntfs: Remove check for PageError ntfs3: Remove check for PageError reiserfs: Remove check for PageError ufs: Remove checks for PageError remap_range: Remove check of uptodate flag jfs: Remove check for PageUptodate iomap: Remove test for folio error orangefs: Remove test for folio error buffer: Remove check for PageError nfs: Leave pages in the pagecache if readpage failed buffer: Don't test folio error in block_read_full_folio() squashfs: Return the actual error from squashfs_read_folio() hostfs: Handle page write errors correctly ocfs2: Use filemap_write_and_wait_range() in ocfs2_cow_sync_writeback() cramfs: read_mapping_page() is synchronous block: Simplify read_part_sector() block: Handle partition read errors more consistently block: Use PAGE_SECTORS_SHIFT block: Convert read_part_sector() to use a folio befs: Convert befs_symlink_read_folio() to use a folio coda: Convert coda_symlink_filler() to use a folio freevxfs: Convert vxfs_immed_read_folio() to use a folio ocfs2: Convert ocfs2_read_folio() to use a folio gfs2: Convert gfs2_jhead_process_page() to use a folio ext2: Use a folio in ext2_get_page() secretmem: Remove isolate_page mm: Convert all PageMovable users to movable_operations fs: Add aops->migrate_folio mm/migrate: Convert fallback_migrate_page() to fallback_migrate_folio() mm/migrate: Convert writeout() to take a folio mm/migrate: Convert buffer_migrate_page() to buffer_migrate_folio() mm/migrate: Convert expected_page_refs() to folio_expected_refs() btrfs: Convert btree_migratepage to migrate_folio nfs: Convert to migrate_folio mm/migrate: Convert migrate_page() to migrate_folio() mm/migrate: Add filemap_migrate_folio() btrfs: Convert btrfs_migratepage to migrate_folio ubifs: Convert to filemap_migrate_folio() f2fs: Convert to filemap_migrate_folio() aio: Convert to migrate_folio hugetlb: Convert to migrate_folio secretmem: Convert to migrate_folio fs: Remove aops->migratepage() mm/folio-compat: Remove migration compatibility functions Documentation/admin-guide/cgroup-v1/memcg_test.rst | 2 +- Documentation/filesystems/ext2.rst | 2 - Documentation/filesystems/locking.rst | 9 +- Documentation/filesystems/vfs.rst | 65 ++-- Documentation/vm/page_migration.rst | 113 +------ arch/powerpc/platforms/pseries/cmm.c | 60 +--- block/fops.c | 2 +- block/partitions/check.h | 4 +- block/partitions/core.c | 20 +- drivers/gpu/drm/i915/gem/i915_gem_userptr.c | 4 +- drivers/misc/vmw_balloon.c | 61 +--- drivers/virtio/virtio_balloon.c | 47 +-- fs/afs/mntpt.c | 6 - fs/aio.c | 36 +- fs/befs/linuxvfs.c | 16 +- fs/btrfs/disk-io.c | 22 +- fs/btrfs/inode.c | 26 +- fs/buffer.c | 363 ++------------------- fs/coda/symlink.c | 11 +- fs/cramfs/inode.c | 17 +- fs/ext2/dir.c | 20 +- fs/ext2/ext2.h | 1 - fs/ext2/inode.c | 53 +-- fs/ext2/namei.c | 10 +- fs/ext2/super.c | 6 +- fs/ext4/inode.c | 44 +-- fs/f2fs/checkpoint.c | 4 +- fs/f2fs/compress.c | 35 +- fs/f2fs/data.c | 40 +-- fs/f2fs/f2fs.h | 4 - fs/f2fs/node.c | 4 +- fs/freevxfs/vxfs_immed.c | 43 ++- fs/freevxfs/vxfs_subr.c | 6 - fs/gfs2/aops.c | 2 +- fs/gfs2/lops.c | 28 +- fs/hfs/bnode.c | 4 - fs/hfsplus/bnode.c | 4 - fs/hostfs/hostfs_kern.c | 6 +- fs/hugetlbfs/inode.c | 69 ++-- fs/inode.c | 2 +- fs/iomap/buffered-io.c | 28 -- fs/jfs/inode.c | 18 +- fs/jfs/jfs_metapage.c | 2 +- fs/mpage.c | 125 +++---- fs/nfs/file.c | 4 +- fs/nfs/internal.h | 6 +- fs/nfs/read.c | 4 - fs/nfs/write.c | 16 +- fs/nilfs2/dir.c | 2 +- fs/nilfs2/page.c | 60 ++-- fs/ntfs/aops.c | 6 +- fs/ntfs/aops.h | 7 +- fs/ntfs/file.c | 5 - fs/ntfs3/inode.c | 8 +- fs/ntfs3/ntfs_fs.h | 7 +- fs/ocfs2/aops.c | 28 +- fs/ocfs2/refcounttree.c | 42 +-- fs/orangefs/inode.c | 4 +- fs/reiserfs/xattr.c | 9 +- fs/remap_range.c | 11 +- fs/squashfs/file.c | 15 +- fs/ubifs/file.c | 29 +- fs/ufs/dir.c | 2 +- fs/ufs/util.c | 11 - fs/xfs/xfs_aops.c | 2 +- fs/zonefs/super.c | 2 +- include/linux/balloon_compaction.h | 6 +- include/linux/buffer_head.h | 18 +- include/linux/fs.h | 20 +- include/linux/iomap.h | 6 - include/linux/migrate.h | 78 +++-- include/linux/mpage.h | 2 - include/linux/netfs.h | 23 +- include/linux/page-flags.h | 2 +- include/linux/pagemap.h | 33 +- include/linux/pagevec.h | 10 - include/linux/swap.h | 3 +- include/uapi/linux/magic.h | 4 - mm/balloon_compaction.c | 10 +- mm/compaction.c | 34 +- mm/filemap.c | 139 +++----- mm/folio-compat.c | 22 -- mm/huge_memory.c | 11 +- mm/hugetlb.c | 14 +- mm/ksm.c | 2 +- mm/memory-failure.c | 2 +- mm/migrate.c | 238 ++++++++------ mm/migrate_device.c | 3 +- mm/secretmem.c | 13 +- mm/shmem.c | 19 +- mm/swap.c | 29 -- mm/swap_state.c | 4 +- mm/truncate.c | 2 +- mm/util.c | 4 +- mm/vmscan.c | 56 ++-- mm/z3fold.c | 84 +---- mm/zsmalloc.c | 102 ++---- 97 files changed, 830 insertions(+), 1887 deletions(-)