@@ -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;
@@ -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
@@ -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);
@@ -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);
@@ -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)) {
@@ -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);
@@ -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;
}
@@ -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 *);
@@ -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);
}
/**