]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
btrfs: store fs_info in a local variable at btrfs_qgroup_trace_extent_post()
authorFilipe Manana <fdmanana@suse.com>
Tue, 24 Sep 2024 16:23:32 +0000 (17:23 +0100)
committerDavid Sterba <dsterba@suse.com>
Mon, 11 Nov 2024 13:34:13 +0000 (14:34 +0100)
Instead of extracting fs_info from the transaction multiples times, store
it in a local variable and use it.

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

index da618e34acd4e6a18bb153fe5c9620551669f50b..3f6bff0b6d82df8aee1aa9a4433df90ca78fddb1 100644 (file)
@@ -2070,10 +2070,14 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_trans_handle *trans,
                                   struct btrfs_qgroup_extent_record *qrecord,
                                   u64 bytenr)
 {
-       struct btrfs_backref_walk_ctx ctx = { 0 };
+       struct btrfs_fs_info *fs_info = trans->fs_info;
+       struct btrfs_backref_walk_ctx ctx = {
+               .bytenr = bytenr,
+               .fs_info = fs_info,
+       };
        int ret;
 
-       if (!btrfs_qgroup_full_accounting(trans->fs_info))
+       if (!btrfs_qgroup_full_accounting(fs_info))
                return 0;
        /*
         * We are always called in a context where we are already holding a
@@ -2096,16 +2100,13 @@ int btrfs_qgroup_trace_extent_post(struct btrfs_trans_handle *trans,
         */
        ASSERT(trans != NULL);
 
-       if (trans->fs_info->qgroup_flags & BTRFS_QGROUP_RUNTIME_FLAG_NO_ACCOUNTING)
+       if (fs_info->qgroup_flags & BTRFS_QGROUP_RUNTIME_FLAG_NO_ACCOUNTING)
                return 0;
 
-       ctx.bytenr = bytenr;
-       ctx.fs_info = trans->fs_info;
-
        ret = btrfs_find_all_roots(&ctx, true);
        if (ret < 0) {
-               qgroup_mark_inconsistent(trans->fs_info);
-               btrfs_warn(trans->fs_info,
+               qgroup_mark_inconsistent(fs_info);
+               btrfs_warn(fs_info,
 "error accounting new delayed refs extent (err code: %d), quota inconsistent",
                        ret);
                return 0;