From: Filipe Manana Date: Wed, 23 Oct 2024 11:41:17 +0000 (+0100) Subject: btrfs: assert delayed refs lock is held at find_ref_head() X-Git-Tag: v6.13-rc1~213^2~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7226ed7d44eecfdf5a8406b3481a4246d49b2eba;p=thirdparty%2Flinux.git btrfs: assert delayed refs lock is held at find_ref_head() We have 3 callers for find_ref_head() so assert at find_ref_head() that we have the delayed refs lock held, removing the assertion from one of its callers (btrfs_find_delayed_ref_head()). Reviewed-by: Boris Burkov Reviewed-by: Qu Wenruo Signed-off-by: Filipe Manana Reviewed-by: David Sterba Signed-off-by: David Sterba --- diff --git a/fs/btrfs/delayed-ref.c b/fs/btrfs/delayed-ref.c index ad067c7780db7..9f8853fb9fa66 100644 --- a/fs/btrfs/delayed-ref.c +++ b/fs/btrfs/delayed-ref.c @@ -407,6 +407,8 @@ static struct btrfs_delayed_ref_head *find_ref_head( struct rb_node *n; struct btrfs_delayed_ref_head *entry; + lockdep_assert_held(&dr->lock); + n = root->rb_node; entry = NULL; while (n) { @@ -1195,8 +1197,6 @@ btrfs_find_delayed_ref_head(const struct btrfs_fs_info *fs_info, struct btrfs_delayed_ref_root *delayed_refs, u64 bytenr) { - lockdep_assert_held(&delayed_refs->lock); - return find_ref_head(fs_info, delayed_refs, bytenr, false); }