diff options
| author | Filipe Manana <fdmanana@suse.com> | 2025-10-23 15:24:22 +0300 |
|---|---|---|
| committer | David Sterba <dsterba@suse.com> | 2025-11-25 00:16:27 +0300 |
| commit | cdf8a566eeef0c28a082dcdfb5d91e964029d6c3 (patch) | |
| tree | 65296b3b8ed9c2952ce9141c131d80c6a8c2b157 | |
| parent | 8b6e1f5dcef97c8336a011c52384c0eb39691a43 (diff) | |
| download | linux-cdf8a566eeef0c28a082dcdfb5d91e964029d6c3.tar.xz | |
btrfs: add data_race() in btrfs_account_ro_block_groups_free_space()
Surround the intentional empty list check with the data_race() annotation
so that tools like KCSAN don't report a data race. The race is intentional
as it's harmless and we want to avoid lock contention of the space_info
since its lock is heavily used (space reservation, space flushing, extent
allocation and deallocation, etc).
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
| -rw-r--r-- | fs/btrfs/space-info.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/space-info.c b/fs/btrfs/space-info.c index edeb46f1aa33..be58f702cc61 100644 --- a/fs/btrfs/space-info.c +++ b/fs/btrfs/space-info.c @@ -1948,7 +1948,7 @@ u64 btrfs_account_ro_block_groups_free_space(struct btrfs_space_info *sinfo) int factor; /* It's df, we don't care if it's racy */ - if (list_empty(&sinfo->ro_bgs)) + if (data_race(list_empty(&sinfo->ro_bgs))) return 0; spin_lock(&sinfo->lock); |
