sysv: remove writepage implementation
authorMatthew Wilcox (Oracle) <willy@infradead.org>
Fri, 15 Dec 2023 20:02:42 +0000 (20:02 +0000)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 29 Dec 2023 19:58:35 +0000 (11:58 -0800)
If the filesystem implements migrate_folio and writepages, there is no
need for a writepage implementation.

Link: https://lkml.kernel.org/r/20231215200245.748418-12-willy@infradead.org
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Jens Axboe <axboe@kernel.dk>
Cc: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/sysv/itree.c

index 725981474e5f9ed785a22e38acd213b318874be8..410ab2a44d2f604d22d7e805317cfa616ca5d191 100644 (file)
@@ -8,6 +8,7 @@
 
 #include <linux/buffer_head.h>
 #include <linux/mount.h>
+#include <linux/mpage.h>
 #include <linux/string.h>
 #include "sysv.h"
 
@@ -456,9 +457,10 @@ int sysv_getattr(struct mnt_idmap *idmap, const struct path *path,
        return 0;
 }
 
-static int sysv_writepage(struct page *page, struct writeback_control *wbc)
+static int sysv_writepages(struct address_space *mapping,
+               struct writeback_control *wbc)
 {
-       return block_write_full_page(page,get_block,wbc);
+       return mpage_writepages(mapping, wbc, get_block);
 }
 
 static int sysv_read_folio(struct file *file, struct folio *folio)
@@ -503,8 +505,9 @@ const struct address_space_operations sysv_aops = {
        .dirty_folio = block_dirty_folio,
        .invalidate_folio = block_invalidate_folio,
        .read_folio = sysv_read_folio,
-       .writepage = sysv_writepage,
+       .writepages = sysv_writepages,
        .write_begin = sysv_write_begin,
        .write_end = generic_write_end,
+       .migrate_folio = buffer_migrate_folio,
        .bmap = sysv_bmap
 };