]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
btrfs: mark extent buffer alignment checks as unlikely
authorFilipe Manana <fdmanana@suse.com>
Tue, 16 Sep 2025 14:50:49 +0000 (15:50 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 23 Sep 2025 06:49:23 +0000 (08:49 +0200)
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 <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c

index 681f4f2e44197a04ef8bab1b1574a7049235e676..5f0cce1bb7c6f846a4f9901b510474e7ef1d8ea7 100644 (file)
@@ -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);