From 3bd4653767bb5eadd253e382fe8503ceb6bef5d1 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Wed, 29 Nov 2023 22:42:52 -0500 Subject: [PATCH] Update bcachefs sources to 676dd269f0f8 mean and variance: Promote to lib/math --- .bcachefs_revision | 2 +- libbcachefs/backpointers.c | 2 ++ libbcachefs/movinggc.c | 16 ++++++++++++---- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/.bcachefs_revision b/.bcachefs_revision index d9447c3..9acffb5 100644 --- a/.bcachefs_revision +++ b/.bcachefs_revision @@ -1 +1 @@ -eb83f1f842bb95e1f61489b48854240777368763 +676dd269f0f8d59f730ba8e96474448576e4f677 diff --git a/libbcachefs/backpointers.c b/libbcachefs/backpointers.c index 2f194f8..2fb96fa 100644 --- a/libbcachefs/backpointers.c +++ b/libbcachefs/backpointers.c @@ -651,6 +651,8 @@ static int bch2_check_extents_to_backpointers_pass(struct btree_trans *trans, } if (ret) break; + if (bpos_eq(iter.pos, SPOS_MAX)) + break; bch2_btree_iter_advance(&iter); } bch2_trans_iter_exit(trans, &iter); diff --git a/libbcachefs/movinggc.c b/libbcachefs/movinggc.c index 7155e20..fd239a2 100644 --- a/libbcachefs/movinggc.c +++ b/libbcachefs/movinggc.c @@ -170,15 +170,23 @@ static int bch2_copygc_get_buckets(struct moving_context *ctxt, saw++; - if (!bch2_bucket_is_movable(trans, &b, lru_pos_time(k.k->p))) + ret2 = bch2_bucket_is_movable(trans, &b, lru_pos_time(k.k->p)); + if (ret2 < 0) + goto err; + + if (!ret2) not_movable++; else if (bucket_in_flight(buckets_in_flight, b.k)) in_flight++; else { - ret2 = darray_push(buckets, b) ?: buckets->nr >= nr_to_get; - if (ret2 >= 0) - sectors += b.sectors; + ret2 = darray_push(buckets, b); + if (ret2) + goto err; + sectors += b.sectors; } + + ret2 = buckets->nr >= nr_to_get; +err: ret2; })); -- 2.39.5