Commit 0e458a61 authored by Kent Overstreet's avatar Kent Overstreet
Browse files

bcachefs: Fix trace_copygc

parent 75474a54
Loading
Loading
Loading
Loading
+7 −4
Original line number Diff line number Diff line
@@ -215,7 +215,8 @@ static int bch2_copygc(struct moving_context *ctxt,
	};
	move_buckets buckets = { 0 };
	struct move_bucket_in_flight *f;
	u64 moved = atomic64_read(&ctxt->stats->sectors_moved);
	u64 sectors_seen	= atomic64_read(&ctxt->stats->sectors_seen);
	u64 sectors_moved	= atomic64_read(&ctxt->stats->sectors_moved);
	int ret = 0;

	ret = bch2_copygc_get_buckets(ctxt, buckets_in_flight, &buckets);
@@ -245,7 +246,6 @@ static int bch2_copygc(struct moving_context *ctxt,
		*did_work = true;
	}
err:
	darray_exit(&buckets);

	/* no entries in LRU btree found, or got to end: */
	if (bch2_err_matches(ret, ENOENT))
@@ -254,8 +254,11 @@ static int bch2_copygc(struct moving_context *ctxt,
	if (ret < 0 && !bch2_err_matches(ret, EROFS))
		bch_err_msg(c, ret, "from bch2_move_data()");

	moved = atomic64_read(&ctxt->stats->sectors_moved) - moved;
	trace_and_count(c, copygc, c, moved, 0, 0, 0);
	sectors_seen	= atomic64_read(&ctxt->stats->sectors_seen) - sectors_seen;
	sectors_moved	= atomic64_read(&ctxt->stats->sectors_moved) - sectors_moved;
	trace_and_count(c, copygc, c, buckets.nr, sectors_seen, sectors_moved);

	darray_exit(&buckets);
	return ret;
}

+12 −14
Original line number Diff line number Diff line
@@ -902,32 +902,30 @@ TRACE_EVENT(evacuate_bucket,

TRACE_EVENT(copygc,
	TP_PROTO(struct bch_fs *c,
		 u64 sectors_moved, u64 sectors_not_moved,
		 u64 buckets_moved, u64 buckets_not_moved),
	TP_ARGS(c,
		sectors_moved, sectors_not_moved,
		buckets_moved, buckets_not_moved),
		 u64 buckets,
		 u64 sectors_seen,
		 u64 sectors_moved),
	TP_ARGS(c, buckets, sectors_seen, sectors_moved),

	TP_STRUCT__entry(
		__field(dev_t,		dev			)
		__field(u64,		buckets			)
		__field(u64,		sectors_seen		)
		__field(u64,		sectors_moved		)
		__field(u64,		sectors_not_moved	)
		__field(u64,		buckets_moved		)
		__field(u64,		buckets_not_moved	)
	),

	TP_fast_assign(
		__entry->dev			= c->dev;
		__entry->buckets		= buckets;
		__entry->sectors_seen		= sectors_seen;
		__entry->sectors_moved		= sectors_moved;
		__entry->sectors_not_moved	= sectors_not_moved;
		__entry->buckets_moved		= buckets_moved;
		__entry->buckets_not_moved = buckets_moved;
	),

	TP_printk("%d,%d sectors moved %llu remain %llu buckets moved %llu remain %llu",
	TP_printk("%d,%d buckets %llu sectors seen %llu moved %llu",
		  MAJOR(__entry->dev), MINOR(__entry->dev),
		  __entry->sectors_moved, __entry->sectors_not_moved,
		  __entry->buckets_moved, __entry->buckets_not_moved)
		  __entry->buckets,
		  __entry->sectors_seen,
		  __entry->sectors_moved)
);

TRACE_EVENT(copygc_wait,