diff options
author | Josef Bacik <josef@toxicpanda.com> | 2020-01-17 09:02:20 -0500 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2020-02-10 14:40:26 +0100 |
commit | c821555d2b9733d8f483c9e79481c7209e1c1fb0 (patch) | |
tree | 35894ba0c3abec0c15454078301caa5282095d2d | |
parent | 7eeec202b9671094d3b907373bd7c3a6cc054265 (diff) | |
download | btrfs-next-c821555d2b9733d8f483c9e79481c7209e1c1fb0.tar.gz |
btrfs: don't set path->leave_spinning for truncate
The only time we actually leave the path spinning is if we're truncating
a small amount and don't actually free an extent, which is not a common
occurrence. We have to set the path blocking in order to add the
delayed ref anyway, so the first extent we find we set the path to
blocking and stay blocking for the duration of the operation. With the
upcoming file extent map stuff there will be another case that we have
to have the path blocking, so just swap to blocking always.
Reviewed-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: Josef Bacik <josef@toxicpanda.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | fs/btrfs/inode.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 5b3ec93ff911d7..948e6fdc197a26 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -4137,7 +4137,6 @@ search_again: goto out; } - path->leave_spinning = 1; ret = btrfs_search_slot(trans, root, &key, path, -1, 1); if (ret < 0) goto out; @@ -4289,7 +4288,6 @@ delete: root == fs_info->tree_root)) { struct btrfs_ref ref = { 0 }; - btrfs_set_path_blocking(path); bytes_deleted += extent_num_bytes; btrfs_init_generic_ref(&ref, BTRFS_DROP_DELAYED_REF, |