From: Goldwyn Rodrigues Date: Tue, 25 Jun 2019 18:11:31 +0000 (+0200) Subject: btrfs: Simplify update of space_info in __reserve_metadata_bytes() X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=9b4851bc48b9346a957a71ca355ecdb7f2759fb8;p=openwrt%2Fstaging%2Fblogic.git 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: Nikolay Borisov Signed-off-by: Goldwyn Rodrigues Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c index ce33b1addf55..ab7b9ec4c240 100644 --- a/fs/btrfs/space-info.c +++ b/fs/btrfs/space-info.c @@ -967,18 +967,12 @@ 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, - system_chunk)) { + 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); trace_btrfs_space_reservation(fs_info, "space_info",