Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 057aac3e authored by Nikolay Borisov's avatar Nikolay Borisov Committed by David Sterba
Browse files

btrfs: Reduce scope of delayed_rsv->lock in may_commit_trans



After commit 996478ca ("btrfs: change how we decide to commit
transactions during flushing") there is no need to hold the delayed_rsv
during the percpu_counter_compare call since we get the byte's snapshot
earlier. So hold the lock only while reading delayed_rsv.

Signed-off-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent f5c29bd9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -4945,12 +4945,12 @@ static int may_commit_transaction(struct btrfs_fs_info *fs_info,
		bytes = 0;
	else
		bytes -= delayed_rsv->size;
	spin_unlock(&delayed_rsv->lock);

	if (percpu_counter_compare(&space_info->total_bytes_pinned,
				   bytes) < 0) {
		spin_unlock(&delayed_rsv->lock);
		return -ENOSPC;
	}
	spin_unlock(&delayed_rsv->lock);

commit:
	trans = btrfs_join_transaction(fs_info->extent_root);