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

btrfs: tag as unlikely error handling in run_one_delayed_ref()



We don't expect to get errors unless we have a corrupted fs, bad RAM or a
bug. So tag the error handling as unlikely.

This slightly reduces the module's text size on x86_64 using gcc 14.2.0-19
from Debian.

Before this change:

  $ size fs/btrfs/btrfs.ko
     text	   data	    bss	    dec	    hex	filename
  1939458	 172512	  15592	2127562	 2076ca	fs/btrfs/btrfs.ko

After this change:

  $ size fs/btrfs/btrfs.ko
     text	   data	    bss	    dec	    hex	filename
  1939398	 172512	  15592	2127502	 20768e	fs/btrfs/btrfs.ko

Reviewed-by: default avatarBoris Burkov <boris@bur.io>
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 271cbe76
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1785,13 +1785,15 @@ static int run_one_delayed_ref(struct btrfs_trans_handle *trans,
		btrfs_err(fs_info, "unexpected delayed ref node type: %u", node->type);
	}

	if (ret && insert_reserved)
	if (unlikely(ret)) {
		if (insert_reserved)
			btrfs_pin_extent(trans, node->bytenr, node->num_bytes);
	if (ret < 0)
		btrfs_err(fs_info,
"failed to run delayed ref for logical %llu num_bytes %llu type %u action %u ref_mod %d: %d",
			  node->bytenr, node->num_bytes, node->type,
			  node->action, node->ref_mod, ret);
	}

	return ret;
}