diff options
author | Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com> | 2020-02-13 18:25:58 +0300 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2020-03-06 04:24:50 +0300 |
commit | 92e9c58c5629762001e7294afbdf1283d5c7d2ed (patch) | |
tree | a09ce4e7ca3c3bebb1d816fe1429911c2dcfd587 /fs/ext4/mballoc.c | |
parent | 765bfcd59a1ff799b1c71cb3be0c43b0775ec166 (diff) | |
download | linux-92e9c58c5629762001e7294afbdf1283d5c7d2ed.tar.xz |
ext4: use built-in RCU list checking in mballoc
list_for_each_entry_rcu() has built-in RCU and lock checking.
Pass cond argument to list_for_each_entry_rcu() to silence
false lockdep warning when CONFIG_PROVE_RCU_LIST is enabled
by default.
Signed-off-by: Madhuparna Bhowmik <madhuparnabhowmik10@gmail.com>
Link: https://lore.kernel.org/r/20200213152558.7070-1-madhuparnabhowmik10@gmail.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Diffstat (limited to 'fs/ext4/mballoc.c')
-rw-r--r-- | fs/ext4/mballoc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/fs/ext4/mballoc.c b/fs/ext4/mballoc.c index 51a78eb65f3c..1027e01c9011 100644 --- a/fs/ext4/mballoc.c +++ b/fs/ext4/mballoc.c @@ -4302,7 +4302,8 @@ ext4_mb_discard_lg_preallocations(struct super_block *sb, spin_lock(&lg->lg_prealloc_lock); list_for_each_entry_rcu(pa, &lg->lg_prealloc_list[order], - pa_inode_list) { + pa_inode_list, + lockdep_is_held(&lg->lg_prealloc_lock)) { spin_lock(&pa->pa_lock); if (atomic_read(&pa->pa_count)) { /* @@ -4386,7 +4387,8 @@ static void ext4_mb_add_n_trim(struct ext4_allocation_context *ac) /* Add the prealloc space to lg */ spin_lock(&lg->lg_prealloc_lock); list_for_each_entry_rcu(tmp_pa, &lg->lg_prealloc_list[order], - pa_inode_list) { + pa_inode_list, + lockdep_is_held(&lg->lg_prealloc_lock)) { spin_lock(&tmp_pa->pa_lock); if (tmp_pa->pa_deleted) { spin_unlock(&tmp_pa->pa_lock); |