]> Gentwo Git Trees - linux/.git/commit
btrfs: make the rule checking more readable for should_cow_block()
authorFilipe Manana <fdmanana@suse.com>
Fri, 19 Sep 2025 08:16:20 +0000 (09:16 +0100)
committerDavid Sterba <dsterba@suse.com>
Tue, 23 Sep 2025 06:49:24 +0000 (08:49 +0200)
commitf07575bab632af8d665c8cc95be0e83ca5d3bd80
tree27ca60329fd2c4d8bf206d4bc84fb89755e568e9
parentb7ff7b0d76e5478c319ab2066b287e156968231f
btrfs: make the rule checking more readable for should_cow_block()

It's quite hard and unreadable the way the rule checks are organized in
should_cow_block(). We have a single if statement that returns 0 (false)
and it checks several conditions, with one them being a negated compound
condition which is particularly hard to reason immediately.

Improve on this by using multiple if statements, each checking a single
condition and returning immediately. Also change the return type from an
integer to a boolean, since all we need is to return true or false.

At least on x86_64 with Debian's gcc 14.2.0-19, this also reduces the
object code size by 64 bytes.

Before this change:

   $ size fs/btrfs/btrfs.ko
      text    data     bss     dec     hex filename
   1913327  161567   15592 2090486  1fe5f6 fs/btrfs/btrfs.ko

After this change:

   $ size fs/btrfs/btrfs.ko
      text    data     bss     dec     hex filename
   1913263  161567   15592 2090422  1fe5b6 fs/btrfs/btrfs.ko

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
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/ctree.c