diff options
author | Kent Overstreet <kent.overstreet@gmail.com> | 2016-02-20 04:27:56 -0900 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@gmail.com> | 2016-08-28 19:16:16 -0800 |
commit | aae4a1ff28578bbb1346deedfffd5152b5b2a49f (patch) | |
tree | 3a0bcc0e78f65dff676e18952f2cbc5a530c89a2 /fs/bcachefs/super.c | |
parent | 8257a6962f0ce690672fc228d220c82126a54f35 (diff) |
rework allocator round robiningbcache-dev-wip
Diffstat (limited to 'fs/bcachefs/super.c')
-rw-r--r-- | fs/bcachefs/super.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/bcachefs/super.c b/fs/bcachefs/super.c index beb0587be4ce..1938bec2bbe1 100644 --- a/fs/bcachefs/super.c +++ b/fs/bcachefs/super.c @@ -146,7 +146,8 @@ static int bch_congested_fn(void *data, int bdi_bits) } } else { /* Writes only go to tier 0: */ - group_for_each_cache_rcu(ca, &c->cache_tiers[0], i) { + mutex_lock(&c->cache_tiers[0].lock); + group_for_each_cache(ca, &c->cache_tiers[0], i) { bdi = blk_get_backing_dev_info(ca->disk_sb.bdev); if (bdi_congested(bdi, bdi_bits)) { @@ -154,6 +155,7 @@ static int bch_congested_fn(void *data, int bdi_bits) break; } } + mutex_unlock(&c->cache_tiers[0].lock); } rcu_read_unlock(); |