Commit 279b4db1 authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba
Browse files

btrfs: use cached state when falling back from NOCoW write to CoW write



We have a cached extent state record from the previous extent locking so
we can use when setting the EXTENT_NORESERVE in the range, allowing the
operation to be faster if the extent io tree is relatively large.

Reviewed-by: default avatarQu Wenruo <wqu@suse.com>
Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent bfc9d71a
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1754,7 +1754,8 @@ static int fallback_to_cow(struct btrfs_inode *inode,
		spin_unlock(&sinfo->lock);

		if (count > 0)
			btrfs_clear_extent_bits(io_tree, start, end, EXTENT_NORESERVE);
			btrfs_clear_extent_bit(io_tree, start, end, EXTENT_NORESERVE,
					       &cached_state);
	}
	btrfs_unlock_extent(io_tree, start, end, &cached_state);