Commit adcf4ee6 authored by Kent Overstreet's avatar Kent Overstreet

bcachefs: Convert compression_stats to for_each_btree_key2

for_each_btree_key2() runs each loop iteration in a btree transaction,
and thus does not cause SRCU lock hold time problems.
Signed-off-by: default avatarKent Overstreet <kent.overstreet@linux.dev>
parent 131898b0
...@@ -276,8 +276,8 @@ static int bch2_compression_stats_to_text(struct printbuf *out, struct bch_fs *c ...@@ -276,8 +276,8 @@ static int bch2_compression_stats_to_text(struct printbuf *out, struct bch_fs *c
if (!btree_type_has_ptrs(id)) if (!btree_type_has_ptrs(id))
continue; continue;
for_each_btree_key(trans, iter, id, POS_MIN, ret = for_each_btree_key2(trans, iter, id, POS_MIN,
BTREE_ITER_ALL_SNAPSHOTS, k, ret) { BTREE_ITER_ALL_SNAPSHOTS, k, ({
struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(k); struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(k);
const union bch_extent_entry *entry; const union bch_extent_entry *entry;
struct extent_ptr_decoded p; struct extent_ptr_decoded p;
...@@ -309,8 +309,8 @@ static int bch2_compression_stats_to_text(struct printbuf *out, struct bch_fs *c ...@@ -309,8 +309,8 @@ static int bch2_compression_stats_to_text(struct printbuf *out, struct bch_fs *c
nr_uncompressed_extents++; nr_uncompressed_extents++;
else if (compressed) else if (compressed)
nr_compressed_extents++; nr_compressed_extents++;
} 0;
bch2_trans_iter_exit(trans, &iter); }));
} }
bch2_trans_put(trans); bch2_trans_put(trans);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment