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

Commit 8de972b4 authored by Chris Mason's avatar Chris Mason
Browse files

Btrfs: fix cluster alignment for mount -o ssd



With the new raid56 code, we want to make sure we're
properly aligning our allocation clusters with -o ssd

Signed-off-by: default avatarChris Mason <chris.mason@fusionio.com>
parent 6ac0f488
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -5715,6 +5715,7 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
		 * lets look there
		 */
		if (last_ptr) {
			unsigned long aligned_cluster;
			/*
			 * the refill lock keeps out other
			 * people trying to start a new cluster
@@ -5781,11 +5782,15 @@ static noinline int find_free_extent(struct btrfs_trans_handle *trans,
				goto unclustered_alloc;
			}

			aligned_cluster = max_t(unsigned long,
						empty_cluster + empty_size,
					      block_group->full_stripe_len);

			/* allocate a cluster in this block group */
			ret = btrfs_find_space_cluster(trans, root,
					       block_group, last_ptr,
					       search_start, num_bytes,
					       empty_cluster + empty_size);
					       aligned_cluster);
			if (ret == 0) {
				/*
				 * now pull our allocation out of this