btrfs: remove pointless empty list check when reading delayed dir indexes
authorFilipe Manana <fdmanana@suse.com>
Sun, 13 Aug 2023 15:03:28 +0000 (16:03 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 21 Aug 2023 12:54:48 +0000 (14:54 +0200)
At btrfs_readdir_delayed_dir_index(), called when reading a directory, we
have this check for an empty list to return immediately, but it's not
needed since list_for_each_entry_safe(), called immediately after, is
prepared to deal with an empty list, it simply does nothing. So remove
the empty list check.

Besides shorter source code, it also slightly reduces the binary text
size:

  Before this change:

    $ size fs/btrfs/btrfs.ko
       text    data     bss     dec     hex filename
    1609408  167269   16864 1793541  1b5e05 fs/btrfs/btrfs.ko

  After this change:

    $ size fs/btrfs/btrfs.ko
       text    data     bss     dec     hex filename
    1609392  167269   16864 1793525  1b5df5 fs/btrfs/btrfs.ko

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/delayed-inode.c

index 6d51db0..85dcf00 100644 (file)
@@ -1736,9 +1736,6 @@ int btrfs_readdir_delayed_dir_index(struct dir_context *ctx,
        int over = 0;
        unsigned char d_type;
 
-       if (list_empty(ins_list))
-               return 0;
-
        /*
         * Changing the data of the delayed item is impossible. So
         * we needn't lock them. And we have held i_mutex of the