summaryrefslogtreecommitdiff
path: root/libbcachefs/btree_node_scan.c
diff options
context:
space:
mode:
Diffstat (limited to 'libbcachefs/btree_node_scan.c')
-rw-r--r--libbcachefs/btree_node_scan.c49
1 files changed, 8 insertions, 41 deletions
diff --git a/libbcachefs/btree_node_scan.c b/libbcachefs/btree_node_scan.c
index adaa3913..5a97a6b8 100644
--- a/libbcachefs/btree_node_scan.c
+++ b/libbcachefs/btree_node_scan.c
@@ -122,55 +122,22 @@ static int found_btree_node_cmp_cookie(const void *_l, const void *_r)
* Given two found btree nodes, if their sequence numbers are equal, take the
* one that's readable:
*/
-static int found_btree_node_cmp_time(struct bch_fs *c,
- struct found_btree_node *l,
- struct found_btree_node *r)
+static int found_btree_node_cmp_time(const struct found_btree_node *l,
+ const struct found_btree_node *r)
{
- int cmp1 = cmp_int(l->seq, r->seq);
- int cmp2 = l->journal_seq && r->journal_seq
- ? cmp_int(l->journal_seq, r->journal_seq)
- : 0;
- int cmp = cmp2 ?: cmp1;
-
- if (!cmp || (cmp1 && cmp2 && cmp1 != cmp2)) {
- struct printbuf buf = PRINTBUF;
- bch2_log_msg_start(c, &buf);
-
- if (cmp)
- prt_printf(&buf, "found btree nodes in scan where seq, journal seq disagree on node age\n");
- else
- prt_printf(&buf, "found btree nodes where we don't know which is newer\n");
- found_btree_node_to_text(&buf, c, l);
- found_btree_node_to_text(&buf, c, r);
-
- bch2_print_str(c, KERN_ERR, buf.buf);
- printbuf_exit(&buf);
- }
-
- return cmp2 ?: cmp1;
-}
-
-static int found_btree_node_cmp_time_nowarn(const struct found_btree_node *l,
- const struct found_btree_node *r)
-{
- int cmp1 = cmp_int(l->seq, r->seq);
- int cmp2 = l->journal_seq && r->journal_seq
- ? cmp_int(l->journal_seq, r->journal_seq)
- : 0;
- return cmp2 ?: cmp1;
-
- return cmp2 ?: cmp1;
+ return cmp_int(l->seq, r->seq) ?:
+ cmp_int(l->journal_seq, r->journal_seq);
}
static int found_btree_node_cmp_pos(const void *_l, const void *_r)
{
- const struct found_btree_node *l = (void *) _l;
- const struct found_btree_node *r = (void *) _r;
+ const struct found_btree_node *l = _l;
+ const struct found_btree_node *r = _r;
return cmp_int(l->btree_id, r->btree_id) ?:
-cmp_int(l->level, r->level) ?:
bpos_cmp(l->min_key, r->min_key) ?:
- -found_btree_node_cmp_time_nowarn(l, r);
+ -found_btree_node_cmp_time(l, r);
}
static inline bool found_btree_node_cmp_pos_less(const void *l, const void *r, void *arg)
@@ -368,7 +335,7 @@ static int handle_overwrites(struct bch_fs *c,
while ((r = min_heap_peek(nodes_heap)) &&
nodes_overlap(l, r)) {
- int cmp = found_btree_node_cmp_time(c, l, r);
+ int cmp = found_btree_node_cmp_time(l, r);
if (cmp > 0) {
if (bpos_cmp(l->max_key, r->max_key) >= 0)