diff --git a/fs/9p/vfs_addr.c b/fs/9p/vfs_addr.c
index 0ae4f31b3d7f2..0cbf9a9050d0c 100644
--- a/fs/9p/vfs_addr.c
+++ b/fs/9p/vfs_addr.c
@@ -209,7 +209,8 @@ static int v9fs_vfs_writepage(struct address_space *__mapping,
  * Returns 0 on success.
  */
 
-static int v9fs_launder_page(struct page *page)
+static int v9fs_launder_page(struct address_space *__mapping,
+			     struct page *page)
 {
 	int retval;
 	struct inode *inode = page->mapping->host;
diff --git a/fs/afs/internal.h b/fs/afs/internal.h
index 264f28759c737..2cdf86d4200a8 100644
--- a/fs/afs/internal.h
+++ b/fs/afs/internal.h
@@ -1436,7 +1436,7 @@ extern ssize_t afs_file_write(struct kiocb *, struct iov_iter *);
 extern int afs_fsync(struct file *, loff_t, loff_t, int);
 extern vm_fault_t afs_page_mkwrite(struct vm_fault *vmf);
 extern void afs_prune_wb_keys(struct afs_vnode *);
-extern int afs_launder_page(struct page *);
+extern int afs_launder_page(struct address_space *__mapping, struct page *);
 
 /*
  * xattr.c
diff --git a/fs/afs/write.c b/fs/afs/write.c
index 199cbf73b9be4..652b783cd280c 100644
--- a/fs/afs/write.c
+++ b/fs/afs/write.c
@@ -890,7 +890,7 @@ void afs_prune_wb_keys(struct afs_vnode *vnode)
 /*
  * Clean up a page during invalidation.
  */
-int afs_launder_page(struct page *page)
+int afs_launder_page(struct address_space *__mapping, struct page *page)
 {
 	struct address_space *mapping = page->mapping;
 	struct afs_vnode *vnode = AFS_FS_I(mapping->host);
diff --git a/fs/cifs/file.c b/fs/cifs/file.c
index 38d79a9eafa76..c6cd5ce627e22 100644
--- a/fs/cifs/file.c
+++ b/fs/cifs/file.c
@@ -4713,7 +4713,8 @@ static void cifs_invalidate_page(struct address_space *__mapping,
 		cifs_fscache_invalidate_page(page, &cifsi->vfs_inode);
 }
 
-static int cifs_launder_page(struct page *page)
+static int cifs_launder_page(struct address_space *__mapping,
+			     struct page *page)
 {
 	int rc = 0;
 	loff_t range_start = page_offset(page);
diff --git a/fs/fuse/file.c b/fs/fuse/file.c
index 66b31387e878f..4b0f85d0a0641 100644
--- a/fs/fuse/file.c
+++ b/fs/fuse/file.c
@@ -2256,7 +2256,8 @@ static int fuse_write_end(struct file *file, struct address_space *mapping,
 	return copied;
 }
 
-static int fuse_launder_page(struct page *page)
+static int fuse_launder_page(struct address_space *__mapping,
+			     struct page *page)
 {
 	int err = 0;
 	if (clear_page_dirty_for_io(page)) {
diff --git a/fs/nfs/file.c b/fs/nfs/file.c
index ddfe95d3da057..b1ba143de48d9 100644
--- a/fs/nfs/file.c
+++ b/fs/nfs/file.c
@@ -474,7 +474,8 @@ static void nfs_check_dirty_writeback(struct page *page,
  * - Caller holds page lock
  * - Return 0 if successful, -error otherwise
  */
-static int nfs_launder_page(struct page *page)
+static int nfs_launder_page(struct address_space *__mapping,
+			    struct page *page)
 {
 	struct inode *inode = page_file_mapping(page)->host;
 	struct nfs_inode *nfsi = NFS_I(inode);
diff --git a/fs/orangefs/inode.c b/fs/orangefs/inode.c
index 8b47bcbf0ca4d..883f78b5c9fcb 100644
--- a/fs/orangefs/inode.c
+++ b/fs/orangefs/inode.c
@@ -244,7 +244,7 @@ static int orangefs_writepages(struct address_space *mapping,
 	return ret;
 }
 
-static int orangefs_launder_page(struct page *);
+static int orangefs_launder_page(struct address_space *, struct page *);
 
 static int orangefs_readpage(struct file *file,
 			     struct address_space *__mapping,
@@ -273,7 +273,7 @@ static int orangefs_readpage(struct file *file,
 	read_size = 524288;
 
 	if (PageDirty(page))
-		orangefs_launder_page(page);
+		orangefs_launder_page(MAPPING_NULL, page);
 
 	off = page_offset(page);
 	index = off >> PAGE_SHIFT;
@@ -381,7 +381,7 @@ static int orangefs_write_begin(struct file *file,
 		 * since we don't know what's dirty.  This will WARN in
 		 * orangefs_writepage_locked.
 		 */
-		ret = orangefs_launder_page(page);
+		ret = orangefs_launder_page(MAPPING_NULL, page);
 		if (ret)
 			return ret;
 	}
@@ -394,7 +394,7 @@ static int orangefs_write_begin(struct file *file,
 			wr->len += len;
 			goto okay;
 		} else {
-			ret = orangefs_launder_page(page);
+			ret = orangefs_launder_page(MAPPING_NULL, page);
 			if (ret)
 				return ret;
 		}
@@ -517,7 +517,7 @@ static void orangefs_invalidatepage(struct address_space *__mapping,
 	 * Thus the following runs if wr was modified above.
 	 */
 
-	orangefs_launder_page(page);
+	orangefs_launder_page(MAPPING_NULL, page);
 }
 
 static int orangefs_releasepage(struct address_space *__mapping,
@@ -532,7 +532,8 @@ static void orangefs_freepage(struct address_space *__mapping,
 	kfree(detach_page_private(page));
 }
 
-static int orangefs_launder_page(struct page *page)
+static int orangefs_launder_page(struct address_space *__mapping,
+				 struct page *page)
 {
 	int r = 0;
 	struct writeback_control wbc = {
@@ -701,7 +702,7 @@ vm_fault_t orangefs_page_mkwrite(struct vm_fault *vmf)
 		 * since we don't know what's dirty.  This will WARN in
 		 * orangefs_writepage_locked.
 		 */
-		if (orangefs_launder_page(page)) {
+		if (orangefs_launder_page(MAPPING_NULL, page)) {
 			ret = VM_FAULT_LOCKED|VM_FAULT_RETRY;
 			goto out;
 		}
@@ -714,7 +715,7 @@ vm_fault_t orangefs_page_mkwrite(struct vm_fault *vmf)
 			wr->len = PAGE_SIZE;
 			goto okay;
 		} else {
-			if (orangefs_launder_page(page)) {
+			if (orangefs_launder_page(MAPPING_NULL, page)) {
 				ret = VM_FAULT_LOCKED|VM_FAULT_RETRY;
 				goto out;
 			}
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 4d0b9c14a5017..3854da5a1bcb9 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -410,7 +410,7 @@ struct address_space_operations {
 			struct page *, struct page *, enum migrate_mode);
 	bool (*isolate_page)(struct page *, isolate_mode_t);
 	void (*putback_page)(struct address_space *, struct page *);
-	int (*launder_page) (struct page *);
+	int (*launder_page) (struct address_space *, struct page *);
 	int (*is_partially_uptodate) (struct page *, unsigned long,
 					unsigned long);
 	void (*is_dirty_writeback) (struct page *, bool *, bool *);
diff --git a/mm/truncate.c b/mm/truncate.c
index e24688115c903..c0719e141e34e 100644
--- a/mm/truncate.c
+++ b/mm/truncate.c
@@ -668,7 +668,7 @@ static int do_launder_page(struct address_space *mapping, struct page *page)
 		return 0;
 	if (page->mapping != mapping || mapping->a_ops->launder_page == NULL)
 		return 0;
-	return mapping->a_ops->launder_page(page);
+	return mapping->a_ops->launder_page(MAPPING_NULL, page);
 }
 
 /**
