Commit adcf4ee6 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

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
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -276,8 +276,8 @@ static int bch2_compression_stats_to_text(struct printbuf *out, struct bch_fs *c
		if (!btree_type_has_ptrs(id))
			continue;

		for_each_btree_key(trans, iter, id, POS_MIN,
				   BTREE_ITER_ALL_SNAPSHOTS, k, ret) {
		ret = for_each_btree_key2(trans, iter, id, POS_MIN,
					  BTREE_ITER_ALL_SNAPSHOTS, k, ({
			struct bkey_ptrs_c ptrs = bch2_bkey_ptrs_c(k);
			const union bch_extent_entry *entry;
			struct extent_ptr_decoded p;
@@ -309,8 +309,8 @@ static int bch2_compression_stats_to_text(struct printbuf *out, struct bch_fs *c
				nr_uncompressed_extents++;
			else if (compressed)
				nr_compressed_extents++;
		}
		bch2_trans_iter_exit(trans, &iter);
			0;
		}));
	}

	bch2_trans_put(trans);