]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
9p: Add a migrate_folio method
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Wed, 2 Apr 2025 14:59:55 +0000 (15:59 +0100)
committerChristian Brauner <brauner@kernel.org>
Mon, 7 Apr 2025 07:36:48 +0000 (09:36 +0200)
The migration code used to be able to migrate dirty 9p folios by writing
them back using writepage.  When the writepage method was removed,
we neglected to add a migrate_folio method, which means that dirty 9p
folios have been unmovable ever since.  This reduced our success at
defragmenting memory on machines which use 9p heavily.

Fixes: 80105ed2fd27 (9p: Use netfslib read/write_iter)
Cc: stable@vger.kernel.org
Cc: David Howells <dhowells@redhat.com>
Cc: v9fs@lists.linux.dev
Signed-off-by: "Matthew Wilcox (Oracle)" <willy@infradead.org>
Link: https://lore.kernel.org/r/20250402150005.2309458-2-willy@infradead.org
Acked-by: Dominique Martinet <asmadeus@codewreck.org>
Reviewed-by: David Howells <dhowells@redhat.com>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/9p/vfs_addr.c

index 32619d146cbc19274db4a87ef11ec0085649ef65..1286d96a29bc781997ca4e2209f80c08d3d64fef 100644 (file)
@@ -164,4 +164,5 @@ const struct address_space_operations v9fs_addr_operations = {
        .invalidate_folio       = netfs_invalidate_folio,
        .direct_IO              = noop_direct_IO,
        .writepages             = netfs_writepages,
+       .migrate_folio          = filemap_migrate_folio,
 };