| From: Christoph Hellwig <hch@lst.de> |
| Subject: hpfs: remove ->writepage |
| Date: Fri, 2 Dec 2022 11:26:42 +0100 |
| |
| ->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-6-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/hpfs/file.c | 9 ++------- |
| 1 file changed, 2 insertions(+), 7 deletions(-) |
| |
| --- a/fs/hpfs/file.c~hpfs-remove-writepage |
| +++ a/fs/hpfs/file.c |
| @@ -163,11 +163,6 @@ static int hpfs_read_folio(struct file * |
| return mpage_read_folio(folio, hpfs_get_block); |
| } |
| |
| -static int hpfs_writepage(struct page *page, struct writeback_control *wbc) |
| -{ |
| - return block_write_full_page(page, hpfs_get_block, wbc); |
| -} |
| - |
| static void hpfs_readahead(struct readahead_control *rac) |
| { |
| mpage_readahead(rac, hpfs_get_block); |
| @@ -248,12 +243,12 @@ const struct address_space_operations hp |
| .dirty_folio = block_dirty_folio, |
| .invalidate_folio = block_invalidate_folio, |
| .read_folio = hpfs_read_folio, |
| - .writepage = hpfs_writepage, |
| .readahead = hpfs_readahead, |
| .writepages = hpfs_writepages, |
| .write_begin = hpfs_write_begin, |
| .write_end = hpfs_write_end, |
| - .bmap = _hpfs_bmap |
| + .bmap = _hpfs_bmap, |
| + .migrate_folio = buffer_migrate_folio, |
| }; |
| |
| const struct file_operations hpfs_file_ops = |
| _ |