btrfs: free path at can_nocow_extent() before checking for checksum items
When we look for checksum items, through csum_exist_in_range(), at can_nocow_extent(), we no longer need the path that we have previously allocated. Through csum_exist_in_range() -> btrfs_lookup_csums_range(), we also end up allocating a path, so we are adding unnecessary extra memory usage. So free the path before calling csum_exist_in_range(). 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
1a89f17386
commit
c1a548db25
@ -7229,6 +7229,14 @@ noinline int can_nocow_extent(struct inode *inode, u64 offset, u64 *len,
|
||||
goto out;
|
||||
}
|
||||
|
||||
/*
|
||||
* We don't need the path anymore, plus through the csum_exist_in_range()
|
||||
* call below we will end up allocating another path. So free the path
|
||||
* to avoid unnecessary extra memory usage.
|
||||
*/
|
||||
btrfs_free_path(path);
|
||||
path = NULL;
|
||||
|
||||
/*
|
||||
* adjust disk_bytenr and num_bytes to cover just the bytes
|
||||
* in this extent we are about to write. If there
|
||||
|
Loading…
x
Reference in New Issue
Block a user