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

Commit 793ff2c8 authored by Qu Wenruo's avatar Qu Wenruo Committed by David Sterba
Browse files

btrfs: volumes: Cleanup stripe size calculation



Cleanup the following things:
1) open coded SZ_16M round up
2) use min() to replace open-coded size comparison
3) code style

Signed-off-by: default avatarQu Wenruo <wqu@suse.com>
Reviewed-by: default avatarNikolay Borisov <nborisov@suse.com>
Reviewed-by: default avatarGu Jinxiang <gujx@cn.fujitsu.com>
[ reformat comment ]
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent da07d4ab
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -4874,18 +4874,17 @@ static int __btrfs_alloc_chunk(struct btrfs_trans_handle *trans,
	 * and compare that answer with the max chunk size
	 */
	if (stripe_size * data_stripes > max_chunk_size) {
		u64 mask = (1ULL << 24) - 1;

		stripe_size = div_u64(max_chunk_size, data_stripes);

		/* bump the answer up to a 16MB boundary */
		stripe_size = (stripe_size + mask) & ~mask;
		stripe_size = round_up(stripe_size, SZ_16M);

		/* but don't go higher than the limits we found
		 * while searching for free extents
		/*
		 * But don't go higher than the limits we found while searching
		 * for free extents
		 */
		if (stripe_size > devices_info[ndevs-1].max_avail)
			stripe_size = devices_info[ndevs-1].max_avail;
		stripe_size = min(devices_info[ndevs - 1].max_avail,
				  stripe_size);
	}

	/* align to BTRFS_STRIPE_LEN */