Stop using the obsolete write_cache_pages and use writeback_iter directly.

Signed-off-by: Christoph Hellwig <[email protected]>
---
 fs/ntfs3/inode.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/fs/ntfs3/inode.c b/fs/ntfs3/inode.c
index 37cbbee7fa58..48b4f73a93ee 100644
--- a/fs/ntfs3/inode.c
+++ b/fs/ntfs3/inode.c
@@ -871,9 +871,9 @@ int ntfs_set_size(struct inode *inode, u64 new_size)
 }
 
 static int ntfs_resident_writepage(struct folio *folio,
-                                  struct writeback_control *wbc, void *data)
+                                  struct writeback_control *wbc)
 {
-       struct address_space *mapping = data;
+       struct address_space *mapping = folio->mapping;
        struct inode *inode = mapping->host;
        struct ntfs_inode *ni = ntfs_i(inode);
        int ret;
@@ -907,9 +907,14 @@ static int ntfs_writepages(struct address_space *mapping,
        if (unlikely(ntfs3_forced_shutdown(inode->i_sb)))
                return -EIO;
 
-       if (is_resident(ntfs_i(inode)))
-               return write_cache_pages(mapping, wbc, ntfs_resident_writepage,
-                                        mapping);
+       if (is_resident(ntfs_i(inode))) {
+               struct folio *folio = NULL;
+               int error;
+
+               while ((folio = writeback_iter(mapping, wbc, folio, &error)))
+                       error = ntfs_resident_writepage(folio, wbc);
+               return error;
+       }
        return mpage_writepages(mapping, wbc, ntfs_get_block);
 }
 
-- 
2.47.2


Reply via email to