]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
btrfs: use end_pos variable where needed in btrfs_dirty_folio()
authorFilipe Manana <fdmanana@suse.com>
Tue, 7 Oct 2025 10:14:37 +0000 (11:14 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 24 Nov 2025 20:40:05 +0000 (21:40 +0100)
We have a couple places doing the computation "pos + write_bytes" when we
already have it in the local variable "end_pos". Change then to use the
variable instead and make source code smaller. Also make the variable
const since it's not supposed to change.

This also has a very slight reduction in the module size.

Before:

   $ size fs/btrfs/btrfs.ko
      text    data     bss     dec     hex filename
   1915990  161647   15592 2093229  1ff0ad fs/btrfs/btrfs.ko

After:

   $ size fs/btrfs/btrfs.ko
      text    data     bss     dec     hex filename
   1915974  161647   15592 2093213  1ff09d fs/btrfs/btrfs.ko

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/file.c

index fa82def46e3952748352e4a7ee2e9e003a72050b..30986a625bdb368216574882eb8d867d53a3c94e 100644 (file)
@@ -75,7 +75,7 @@ int btrfs_dirty_folio(struct btrfs_inode *inode, struct folio *folio, loff_t pos
        u64 num_bytes;
        u64 start_pos;
        u64 end_of_last_block;
-       u64 end_pos = pos + write_bytes;
+       const u64 end_pos = pos + write_bytes;
        loff_t isize = i_size_read(&inode->vfs_inode);
        unsigned int extra_bits = 0;
 
@@ -86,10 +86,9 @@ int btrfs_dirty_folio(struct btrfs_inode *inode, struct folio *folio, loff_t pos
                extra_bits |= EXTENT_NORESERVE;
 
        start_pos = round_down(pos, fs_info->sectorsize);
-       num_bytes = round_up(write_bytes + pos - start_pos,
-                            fs_info->sectorsize);
+       num_bytes = round_up(end_pos - start_pos, fs_info->sectorsize);
        ASSERT(num_bytes <= U32_MAX);
-       ASSERT(folio_pos(folio) <= pos && folio_end(folio) >= pos + write_bytes);
+       ASSERT(folio_pos(folio) <= pos && folio_end(folio) >= end_pos);
 
        end_of_last_block = start_pos + num_bytes - 1;