diff options
author | Christoph Hellwig <hch@lst.de> | 2023-01-18 18:30:27 +0100 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2023-03-12 20:00:41 -0400 |
commit | 8e4bfd136410df75c915fb462914b36e6e5fdfc0 (patch) | |
tree | b4615eaee889b98b9f2405bbc7d5688609e1f935 /fs/ocfs2/refcounttree.c | |
parent | 9e22031a5a6c038089dfd4220012c7fb7f1631af (diff) |
ocfs2: don't use write_one_page in ocfs2_duplicate_clusters_by_page
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>
Diffstat (limited to 'fs/ocfs2/refcounttree.c')
-rw-r--r-- | fs/ocfs2/refcounttree.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/fs/ocfs2/refcounttree.c b/fs/ocfs2/refcounttree.c index 5a656dc683f1..564ab48d03ef 100644 --- a/fs/ocfs2/refcounttree.c +++ b/fs/ocfs2/refcounttree.c @@ -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; } } |