diff options
author | Qu Wenruo <wqu@suse.com> | 2023-07-15 19:08:32 +0800 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2023-08-21 14:52:17 +0200 |
commit | 682a0bc5573f3c10a435fb9650c856bb325d2733 (patch) | |
tree | 361469ca2e9627dbd08e1366f342b109d1fd8776 /fs/btrfs/extent_io.c | |
parent | 54948681c21171a67c2fe03adcce54901e39dfe3 (diff) |
btrfs: copy all pages at once at the end of btrfs_clone_extent_buffer()
btrfs_clone_extent_buffer() calls copy_page() at each iteration but we
can copy all pages at the end in one go if there were no errors.
This would make later conversion to folios easier.
Reviewed-by: Sweet Tea Dorminy <sweettea-kernel@dorminy.me>
Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/extent_io.c')
-rw-r--r-- | fs/btrfs/extent_io.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 1ba8857a8dbe..3e30333a4c6b 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3239,8 +3239,8 @@ struct extent_buffer *btrfs_clone_extent_buffer(const struct extent_buffer *src) return NULL; } WARN_ON(PageDirty(p)); - copy_page(page_address(p), page_address(src->pages[i])); } + copy_extent_buffer_full(new, src); set_extent_buffer_uptodate(new); return new; |