ocfs2: don't use write_one_page in ocfs2_duplicate_clusters_by_page
authorChristoph Hellwig <hch@lst.de>
Wed, 18 Jan 2023 17:30:27 +0000 (18:30 +0100)
committerAl Viro <viro@zeniv.linux.org.uk>
Mon, 13 Mar 2023 00:00:41 +0000 (20:00 -0400)
Use filemap_write_and_wait_range to write back the range of the dirty
page instead of write_one_page in preparation of removing write_one_page
and eventually ->writepage.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Joseph Qi <joseph.qi@linux.alibaba.com>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/ocfs2/refcounttree.c

index 5a656dc683f10808becf926728e4ba155424a7f4..564ab48d03effaf6d24d0dd30531db7e5241f876 100644 (file)
@@ -2952,10 +2952,11 @@ retry:
                 */
                if (PAGE_SIZE <= OCFS2_SB(sb)->s_clustersize) {
                        if (PageDirty(page)) {
-                               /*
-                                * write_on_page will unlock the page on return
-                                */
-                               ret = write_one_page(page);
+                               unlock_page(page);
+                               put_page(page);
+
+                               ret = filemap_write_and_wait_range(mapping,
+                                               offset, map_end - 1);
                                goto retry;
                        }
                }