btrfs: volumes: remove unnecessary calls to btrfs_mark_buffer_dirty()
authorFilipe Manana <fdmanana@suse.com>
Wed, 18 Dec 2024 13:02:59 +0000 (13:02 +0000)
committerDavid Sterba <dsterba@suse.com>
Mon, 13 Jan 2025 13:53:20 +0000 (14:53 +0100)
We have several places explicitly calling btrfs_mark_buffer_dirty() but
that is not necessarily since the target leaf came from a path that was
obtained for a btree search function that modifies the btree, something
like btrfs_insert_empty_item() or anything else that ends up calling
btrfs_search_slot() with a value of 1 for its 'cow' argument.

These just make the code more verbose, confusing and add a little extra
overhead and well as increase the module's text size, so remove them.

Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/volumes.c

index a58cf494b3d0927e89f2a6b8c74967cdcafc4b05..ccbfea163390b7eb96064ceae3396845f5e2ac44 100644 (file)
@@ -2046,7 +2046,6 @@ static int btrfs_add_dev_item(struct btrfs_trans_handle *trans,
        ptr = btrfs_device_fsid(dev_item);
        write_extent_buffer(leaf, trans->fs_info->fs_devices->metadata_uuid,
                            ptr, BTRFS_FSID_SIZE);
-       btrfs_mark_buffer_dirty(trans, leaf);
 
        ret = 0;
 out:
@@ -2742,11 +2741,9 @@ next_slot:
                device = btrfs_find_device(fs_info->fs_devices, &args);
                BUG_ON(!device); /* Logic error */
 
-               if (device->fs_devices->seeding) {
+               if (device->fs_devices->seeding)
                        btrfs_set_device_generation(leaf, dev_item,
                                                    device->generation);
-                       btrfs_mark_buffer_dirty(trans, leaf);
-               }
 
                path->slots[0]++;
                goto next_slot;
@@ -3039,8 +3036,6 @@ static noinline int btrfs_update_device(struct btrfs_trans_handle *trans,
                                     btrfs_device_get_disk_total_bytes(device));
        btrfs_set_device_bytes_used(leaf, dev_item,
                                    btrfs_device_get_bytes_used(device));
-       btrfs_mark_buffer_dirty(trans, leaf);
-
 out:
        btrfs_free_path(path);
        return ret;
@@ -3749,10 +3744,7 @@ static int insert_balance_item(struct btrfs_fs_info *fs_info,
        btrfs_set_balance_meta(leaf, item, &disk_bargs);
        btrfs_cpu_balance_args_to_disk(&disk_bargs, &bctl->sys);
        btrfs_set_balance_sys(leaf, item, &disk_bargs);
-
        btrfs_set_balance_flags(leaf, item, bctl->flags);
-
-       btrfs_mark_buffer_dirty(trans, leaf);
 out:
        btrfs_free_path(path);
        err = btrfs_commit_transaction(trans);
@@ -7700,8 +7692,6 @@ static int update_dev_stat_item(struct btrfs_trans_handle *trans,
        for (i = 0; i < BTRFS_DEV_STAT_VALUES_MAX; i++)
                btrfs_set_dev_stats_value(eb, ptr, i,
                                          btrfs_dev_stat_read(device, i));
-       btrfs_mark_buffer_dirty(trans, eb);
-
 out:
        btrfs_free_path(path);
        return ret;