mirror of
https://github.com/torvalds/linux.git
synced 2026-06-02 03:24:19 +02:00
btrfs: avoid path allocations when dropping extents during log replay
We can avoid a path allocation in the btrfs_drop_extents() calls we have at replay_one_extent() and replay_one_buffer() by passing the path we already have in those contextes as it's unused by the time they call btrfs_drop_extents(). Signed-off-by: Filipe Manana <fdmanana@suse.com> Reviewed-by: David Sterba <dsterba@suse.com> Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
parent
29d9c5e037
commit
b343047c1a
|
|
@ -738,6 +738,7 @@ static noinline int replay_one_extent(struct walk_control *wc, struct btrfs_path
|
|||
drop_args.start = start;
|
||||
drop_args.end = extent_end;
|
||||
drop_args.drop_cache = true;
|
||||
drop_args.path = path;
|
||||
ret = btrfs_drop_extents(trans, root, inode, &drop_args);
|
||||
if (ret) {
|
||||
btrfs_abort_transaction(trans, ret);
|
||||
|
|
@ -2676,6 +2677,7 @@ static int replay_one_buffer(struct extent_buffer *eb,
|
|||
drop_args.start = from;
|
||||
drop_args.end = (u64)-1;
|
||||
drop_args.drop_cache = true;
|
||||
drop_args.path = path;
|
||||
ret = btrfs_drop_extents(trans, root, inode, &drop_args);
|
||||
if (ret) {
|
||||
btrfs_abort_transaction(trans, ret);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user