Commit 25a89826 authored by Christoph Hellwig's avatar Christoph Hellwig Committed by Andrew Morton
Browse files

ntfs3: remove ->writepage

->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: default avatarChristoph 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: default avatarAndrew Morton <akpm@linux-foundation.org>
parent d4428bad
Loading
Loading
Loading
Loading
+1 −21
Original line number Original line Diff line number Diff line
@@ -832,26 +832,6 @@ int ntfs_set_size(struct inode *inode, u64 new_size)
	return err;
	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,
static int ntfs_resident_writepage(struct page *page,
		struct writeback_control *wbc, void *data)
		struct writeback_control *wbc, void *data)
{
{
@@ -2083,13 +2063,13 @@ const struct inode_operations ntfs_link_inode_operations = {
const struct address_space_operations ntfs_aops = {
const struct address_space_operations ntfs_aops = {
	.read_folio	= ntfs_read_folio,
	.read_folio	= ntfs_read_folio,
	.readahead	= ntfs_readahead,
	.readahead	= ntfs_readahead,
	.writepage	= ntfs_writepage,
	.writepages	= ntfs_writepages,
	.writepages	= ntfs_writepages,
	.write_begin	= ntfs_write_begin,
	.write_begin	= ntfs_write_begin,
	.write_end	= ntfs_write_end,
	.write_end	= ntfs_write_end,
	.direct_IO	= ntfs_direct_IO,
	.direct_IO	= ntfs_direct_IO,
	.bmap		= ntfs_bmap,
	.bmap		= ntfs_bmap,
	.dirty_folio	= block_dirty_folio,
	.dirty_folio	= block_dirty_folio,
	.migrate_folio	= buffer_migrate_folio,
	.invalidate_folio = block_invalidate_folio,
	.invalidate_folio = block_invalidate_folio,
};
};