]> git.sesse.net Git - bcachefs-tools-debian/commitdiff
Update bcachefs sources to 676dd269f0f8 mean and variance: Promote to lib/math
authorKent Overstreet <kent.overstreet@linux.dev>
Thu, 30 Nov 2023 03:42:52 +0000 (22:42 -0500)
committerKent Overstreet <kent.overstreet@linux.dev>
Thu, 30 Nov 2023 03:42:52 +0000 (22:42 -0500)
.bcachefs_revision
libbcachefs/backpointers.c
libbcachefs/movinggc.c

index d9447c3f35cb067b0c7f4094d46d9a5628a3a50b..9acffb579a94845475f5304b416becc4a734e70e 100644 (file)
@@ -1 +1 @@
-eb83f1f842bb95e1f61489b48854240777368763
+676dd269f0f8d59f730ba8e96474448576e4f677
index 2f194f86cebf4eb54f95cdafd02a719b9b056d84..2fb96fa99f42716fb7f681477400b37d3cb84b29 100644 (file)
@@ -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);
index 7155e2060d29e0174f556dbdf2a4e956ce335393..fd239a261aca054b22072716e6d2ef7d49791e6a 100644 (file)
@@ -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;
        }));