Commit 9b4851bc authored by Goldwyn Rodrigues's avatar Goldwyn Rodrigues Committed by David Sterba
Browse files

btrfs: Simplify update of space_info in __reserve_metadata_bytes()



We don't need an if-else-if chain where we can use a simple OR since
both conditions are performing the same action. The short-circuit for OR
will ensure that if the first condition is true, can_overcommit() is not
called.

Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 83d731a5
Loading
Loading
Loading
Loading
+5 −11
Original line number Diff line number Diff line
@@ -967,17 +967,11 @@ static int __reserve_metadata_bytes(struct btrfs_fs_info *fs_info,
	used = btrfs_space_info_used(space_info, true);

	/*
	 * If we have enough space then hooray, make our reservation and carry
	 * on.  If not see if we can overcommit, and if we can, hooray carry on.
	 * If not things get more complicated.
	 * Carry on if we have enough space (short-circuit) OR call
	 * can_overcommit() to ensure we can overcommit to continue.
	 */
	if (used + orig_bytes <= space_info->total_bytes) {
		btrfs_space_info_update_bytes_may_use(fs_info, space_info,
						      orig_bytes);
		trace_btrfs_space_reservation(fs_info, "space_info",
					      space_info->flags, orig_bytes, 1);
		ret = 0;
	} else if (can_overcommit(fs_info, space_info, orig_bytes, flush,
	if ((used + orig_bytes <= space_info->total_bytes) ||
	    can_overcommit(fs_info, space_info, orig_bytes, flush,
			   system_chunk)) {
		btrfs_space_info_update_bytes_may_use(fs_info, space_info,
						      orig_bytes);