btrfs: split btrfs_is_fstree() into multiple if statements for readability

Instead of a single if statement with multiple conditions, split it into
several if statements testing only one condition at a time and return true
or false immediately after. This makes it more immediate to reason.

The module's text size also slightly decreases, at least with gcc 14.2.0
on x86_64.

Before:

  $ size fs/btrfs/btrfs.ko
     text	   data	    bss	    dec	    hex	filename
  1897138	 161583	  16136	2074857	 1fa8e9	fs/btrfs/btrfs.ko

After:

  $ size fs/btrfs/btrfs.ko
     text	   data	    bss	    dec	    hex	filename
  1896976	 161583	  16136	2074695	 1fa847	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>
This commit is contained in:
Filipe Manana 2025-06-23 13:15:58 +01:00 committed by David Sterba
parent fd00922abc
commit da7f005239

View File

@ -723,11 +723,16 @@ int btrfs_leaf_free_space(const struct extent_buffer *leaf);
static inline bool btrfs_is_fstree(u64 rootid)
{
if (rootid == BTRFS_FS_TREE_OBJECTID ||
((s64)rootid >= (s64)BTRFS_FIRST_FREE_OBJECTID &&
!btrfs_qgroup_level(rootid)))
if (rootid == BTRFS_FS_TREE_OBJECTID)
return true;
if ((s64)rootid < (s64)BTRFS_FIRST_FREE_OBJECTID)
return false;
if (btrfs_qgroup_level(rootid) != 0)
return false;
return true;
}
static inline bool btrfs_is_data_reloc_root(const struct btrfs_root *root)