OSDN Git Service

fat: remove ->writepage
authorChristoph Hellwig <hch@lst.de>
Fri, 2 Dec 2022 10:26:39 +0000 (11:26 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 Dec 2022 02:12:17 +0000 (18:12 -0800)
->writepage is a very inefficient method to write back data, and only
used through write_cache_pages or a a fallback when no ->migrate_folio
method is present.

Set ->migrate_folio to the generic buffer_head based helper, and remove
the ->writepage implementation.

Link: https://lkml.kernel.org/r/20221202102644.770505-3-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
fs/fat/inode.c

index 1cbcc46..d99b854 100644 (file)
@@ -194,11 +194,6 @@ static int fat_get_block(struct inode *inode, sector_t iblock,
        return 0;
 }
 
-static int fat_writepage(struct page *page, struct writeback_control *wbc)
-{
-       return block_write_full_page(page, fat_get_block, wbc);
-}
-
 static int fat_writepages(struct address_space *mapping,
                          struct writeback_control *wbc)
 {
@@ -346,12 +341,12 @@ static const struct address_space_operations fat_aops = {
        .invalidate_folio = block_invalidate_folio,
        .read_folio     = fat_read_folio,
        .readahead      = fat_readahead,
-       .writepage      = fat_writepage,
        .writepages     = fat_writepages,
        .write_begin    = fat_write_begin,
        .write_end      = fat_write_end,
        .direct_IO      = fat_direct_IO,
-       .bmap           = _fat_bmap
+       .bmap           = _fat_bmap,
+       .migrate_folio  = buffer_migrate_folio,
 };
 
 /*