Commit 7e63df00 authored by Matthew Wilcox (Oracle)'s avatar Matthew Wilcox (Oracle)
Browse files

mm: Convert swap_set_page_dirty() to swap_dirty_folio()



Straightforward conversion.

Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
Tested-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
Acked-by: default avatarDamien Le Moal <damien.lemoal@opensource.wdc.com>
Tested-by: Mike Marshall <hubcap@omnibond.com> # orangefs
Tested-by: David Howells <dhowells@redhat.com> # afs
parent 1f1d14db
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -427,7 +427,7 @@ extern int swap_writepage(struct page *page, struct writeback_control *wbc);
extern void end_swap_bio_write(struct bio *bio);
extern int __swap_writepage(struct page *page, struct writeback_control *wbc,
	bio_end_io_t end_write_func);
extern int swap_set_page_dirty(struct page *page);
bool swap_dirty_folio(struct address_space *mapping, struct folio *folio);

int add_swap_extent(struct swap_info_struct *sis, unsigned long start_page,
		unsigned long nr_pages, sector_t start_block);
+10 −8
Original line number Diff line number Diff line
@@ -438,19 +438,21 @@ int swap_readpage(struct page *page, bool synchronous)
	return ret;
}

int swap_set_page_dirty(struct page *page)
bool swap_dirty_folio(struct address_space *mapping, struct folio *folio)
{
	struct swap_info_struct *sis = page_swap_info(page);
	struct swap_info_struct *sis = swp_swap_info(folio_swap_entry(folio));

	if (data_race(sis->flags & SWP_FS_OPS)) {
		struct address_space *mapping = sis->swap_file->f_mapping;
		const struct address_space_operations *aops = mapping->a_ops;
		const struct address_space_operations *aops;

		VM_BUG_ON_PAGE(!PageSwapCache(page), page);
		mapping = sis->swap_file->f_mapping;
		aops = mapping->a_ops;

		VM_BUG_ON_FOLIO(!folio_test_swapcache(folio), folio);
		if (aops->dirty_folio)
			return aops->dirty_folio(mapping, page_folio(page));
		return aops->set_page_dirty(page);
			return aops->dirty_folio(mapping, folio);
		return aops->set_page_dirty(&folio->page);
	} else {
		return __set_page_dirty_no_writeback(page);
		return __set_page_dirty_no_writeback(&folio->page);
	}
}
+1 −1
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@
 */
static const struct address_space_operations swap_aops = {
	.writepage	= swap_writepage,
	.set_page_dirty	= swap_set_page_dirty,
	.dirty_folio	= swap_dirty_folio,
#ifdef CONFIG_MIGRATION
	.migratepage	= migrate_page,
#endif