blob: 637e9f0ad8a009f8815c60024d6a18d57bf616ed [file] [log] [blame]
From: Christoph Hellwig <hch@lst.de>
Subject: ntfs3: remove ->writepage
Date: Thu, 29 Dec 2022 06:10:28 -1000
->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/20221229161031.391878-4-hch@lst.de
Signed-off-by: Christoph Hellwig <hch@lst.de>
Cc: Jan Kara <jack@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Joseph Qi <joseph.qi@linux.alibaba.com>
Cc: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Theodore Ts'o <tytso@mit.edu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
fs/ntfs3/inode.c | 22 +---------------------
1 file changed, 1 insertion(+), 21 deletions(-)
--- a/fs/ntfs3/inode.c~ntfs3-remove-writepage
+++ a/fs/ntfs3/inode.c
@@ -832,26 +832,6 @@ out:
return err;
}
-static int ntfs_writepage(struct page *page, struct writeback_control *wbc)
-{
- struct address_space *mapping = page->mapping;
- struct inode *inode = mapping->host;
- struct ntfs_inode *ni = ntfs_i(inode);
- int err;
-
- if (is_resident(ni)) {
- ni_lock(ni);
- err = attr_data_write_resident(ni, page);
- ni_unlock(ni);
- if (err != E_NTFS_NONRESIDENT) {
- unlock_page(page);
- return err;
- }
- }
-
- return block_write_full_page(page, ntfs_get_block, wbc);
-}
-
static int ntfs_resident_writepage(struct page *page,
struct writeback_control *wbc, void *data)
{
@@ -2083,13 +2063,13 @@ const struct inode_operations ntfs_link_
const struct address_space_operations ntfs_aops = {
.read_folio = ntfs_read_folio,
.readahead = ntfs_readahead,
- .writepage = ntfs_writepage,
.writepages = ntfs_writepages,
.write_begin = ntfs_write_begin,
.write_end = ntfs_write_end,
.direct_IO = ntfs_direct_IO,
.bmap = ntfs_bmap,
.dirty_folio = block_dirty_folio,
+ .migrate_folio = buffer_migrate_folio,
.invalidate_folio = block_invalidate_folio,
};
_