From: Filipe Manana Date: Tue, 16 Sep 2025 14:50:49 +0000 (+0100) Subject: btrfs: mark extent buffer alignment checks as unlikely X-Git-Tag: v6.18-rc1~204^2~24 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8f0534ec96e3cbba2ecefe560a482382198c044f;p=thirdparty%2Fkernel%2Fstable.git btrfs: mark extent buffer alignment checks as unlikely We are not expecting to ever fail the extent buffer alignment checks, so mark them as unlikely to allow the compiler to potentially generate more optimized code. Reviewed-by: Qu Wenruo Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c index 681f4f2e44197..5f0cce1bb7c6f 100644 --- a/fs/btrfs/extent_io.c +++ b/fs/btrfs/extent_io.c @@ -3228,25 +3228,25 @@ 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)) { + if (unlikely(!IS_ALIGNED(start, fs_info->sectorsize))) { btrfs_err(fs_info, "bad tree block start %llu", start); return true; } - if (nodesize < PAGE_SIZE && !IS_ALIGNED(start, nodesize)) { + if (unlikely(nodesize < PAGE_SIZE && !IS_ALIGNED(start, nodesize))) { btrfs_err(fs_info, "tree block is not nodesize aligned, start %llu nodesize %u", start, nodesize); return true; } - if (nodesize >= PAGE_SIZE && !PAGE_ALIGNED(start)) { + if (unlikely(nodesize >= PAGE_SIZE && !PAGE_ALIGNED(start))) { btrfs_err(fs_info, "tree block is not page aligned, start %llu nodesize %u", start, nodesize); return true; } - if (!IS_ALIGNED(start, nodesize) && - !test_and_set_bit(BTRFS_FS_UNALIGNED_TREE_BLOCK, &fs_info->flags)) { + if (unlikely(!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, nodesize);