Skip to content

Commit 0e458a6

Browse files
author
Kent Overstreet
committed
bcachefs: Fix trace_copygc
Signed-off-by: Kent Overstreet <[email protected]>
1 parent 75474a5 commit 0e458a6

File tree

2 files changed

+19
-18
lines changed

2 files changed

+19
-18
lines changed

fs/bcachefs/movinggc.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,8 @@ static int bch2_copygc(struct moving_context *ctxt,
215215
};
216216
move_buckets buckets = { 0 };
217217
struct move_bucket_in_flight *f;
218-
u64 moved = atomic64_read(&ctxt->stats->sectors_moved);
218+
u64 sectors_seen = atomic64_read(&ctxt->stats->sectors_seen);
219+
u64 sectors_moved = atomic64_read(&ctxt->stats->sectors_moved);
219220
int ret = 0;
220221

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

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

257-
moved = atomic64_read(&ctxt->stats->sectors_moved) - moved;
258-
trace_and_count(c, copygc, c, moved, 0, 0, 0);
257+
sectors_seen = atomic64_read(&ctxt->stats->sectors_seen) - sectors_seen;
258+
sectors_moved = atomic64_read(&ctxt->stats->sectors_moved) - sectors_moved;
259+
trace_and_count(c, copygc, c, buckets.nr, sectors_seen, sectors_moved);
260+
261+
darray_exit(&buckets);
259262
return ret;
260263
}
261264

fs/bcachefs/trace.h

Lines changed: 12 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -902,32 +902,30 @@ TRACE_EVENT(evacuate_bucket,
902902

903903
TRACE_EVENT(copygc,
904904
TP_PROTO(struct bch_fs *c,
905-
u64 sectors_moved, u64 sectors_not_moved,
906-
u64 buckets_moved, u64 buckets_not_moved),
907-
TP_ARGS(c,
908-
sectors_moved, sectors_not_moved,
909-
buckets_moved, buckets_not_moved),
905+
u64 buckets,
906+
u64 sectors_seen,
907+
u64 sectors_moved),
908+
TP_ARGS(c, buckets, sectors_seen, sectors_moved),
910909

911910
TP_STRUCT__entry(
912911
__field(dev_t, dev )
912+
__field(u64, buckets )
913+
__field(u64, sectors_seen )
913914
__field(u64, sectors_moved )
914-
__field(u64, sectors_not_moved )
915-
__field(u64, buckets_moved )
916-
__field(u64, buckets_not_moved )
917915
),
918916

919917
TP_fast_assign(
920918
__entry->dev = c->dev;
919+
__entry->buckets = buckets;
920+
__entry->sectors_seen = sectors_seen;
921921
__entry->sectors_moved = sectors_moved;
922-
__entry->sectors_not_moved = sectors_not_moved;
923-
__entry->buckets_moved = buckets_moved;
924-
__entry->buckets_not_moved = buckets_moved;
925922
),
926923

927-
TP_printk("%d,%d sectors moved %llu remain %llu buckets moved %llu remain %llu",
924+
TP_printk("%d,%d buckets %llu sectors seen %llu moved %llu",
928925
MAJOR(__entry->dev), MINOR(__entry->dev),
929-
__entry->sectors_moved, __entry->sectors_not_moved,
930-
__entry->buckets_moved, __entry->buckets_not_moved)
926+
__entry->buckets,
927+
__entry->sectors_seen,
928+
__entry->sectors_moved)
931929
);
932930

933931
TRACE_EVENT(copygc_wait,

0 commit comments

Comments
 (0)