btrfs: drop pointless memset when cloning extent buffer
authorFilipe Manana <fdmanana@suse.com>
Tue, 11 Oct 2022 12:16:57 +0000 (13:16 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 5 Dec 2022 17:00:38 +0000 (18:00 +0100)
commitb98c6cd59e90fe659cf966859bc4e1c03aea347b
treefb0d36edbece5fb12969a6bcd1a29c0766a95798
parenta2853ffc2eb9bfb6e6d48486df7f3969a58ae3b4
btrfs: drop pointless memset when cloning extent buffer

At btrfs_clone_extent_buffer(), before allocating the pages array for the
new extent buffer we are calling memset() to zero out the pages array of
the extent buffer. This is pointless however, because the extent buffer
already has every element in its pages array pointing to NULL, as it was
allocated with kmem_cache_zalloc(). The memset() was introduced with
commit dd137dd1f2d719 ("btrfs: factor out allocating an array of pages"),
but even before that commit we already depended on the pages array being
initialized to NULL for the error paths that need to call
btrfs_release_extent_buffer().

So remove the memset(), it's useless and slightly increases the object
text size.

Before this change:

   $ size fs/btrfs/extent_io.o
      text    data     bss     dec     hex filename
     70580    5469      40   76089   12939 fs/btrfs/extent_io.o

After this change:

   $ size fs/btrfs/extent_io.o
      text    data     bss     dec     hex filename
     70564    5469      40   76073   12929 fs/btrfs/extent_io.o

Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent_io.c