Commit 6a9e1d1a authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba
Browse files

btrfs: store and use node size in local variable in check_eb_alignment()



Instead of dereferencing fs_info every time we need to access the node
size, store in a local variable to make the code less verbose and avoid
a line split too.

Reviewed-by: default avatarQu Wenruo <wqu@suse.com>
Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 26baec69
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -3226,29 +3226,30 @@ static struct extent_buffer *grab_extent_buffer(struct btrfs_fs_info *fs_info,
 */
static bool check_eb_alignment(struct btrfs_fs_info *fs_info, u64 start)
{
	const u32 nodesize = fs_info->nodesize;

	if (!IS_ALIGNED(start, fs_info->sectorsize)) {
		btrfs_err(fs_info, "bad tree block start %llu", start);
		return true;
	}

	if (fs_info->nodesize < PAGE_SIZE && !IS_ALIGNED(start, fs_info->nodesize)) {
	if (nodesize < PAGE_SIZE && !IS_ALIGNED(start, nodesize)) {
		btrfs_err(fs_info,
		"tree block is not nodesize aligned, start %llu nodesize %u",
			  start, fs_info->nodesize);
			  start, nodesize);
		return true;
	}
	if (fs_info->nodesize >= PAGE_SIZE &&
	    !PAGE_ALIGNED(start)) {
	if (nodesize >= PAGE_SIZE && !PAGE_ALIGNED(start)) {
		btrfs_err(fs_info,
		"tree block is not page aligned, start %llu nodesize %u",
			  start, fs_info->nodesize);
			  start, nodesize);
		return true;
	}
	if (!IS_ALIGNED(start, fs_info->nodesize) &&
	if (!IS_ALIGNED(start, nodesize) &&
	    !test_and_set_bit(BTRFS_FS_UNALIGNED_TREE_BLOCK, &fs_info->flags)) {
		btrfs_warn(fs_info,
"tree block not nodesize aligned, start %llu nodesize %u, can be resolved by a full metadata balance",
			      start, fs_info->nodesize);
			      start, nodesize);
	}
	return false;
}