From 72a9f1015d65bc04a6099f1869fd691ccf3ca878 Mon Sep 17 00:00:00 2001 From: Kent Overstreet Date: Mon, 25 Oct 2021 18:32:51 -0400 Subject: [PATCH] Update bcachefs sources to 4c58f10d48 bcachefs: More general fix for transaction paths overflow --- .bcachefs_revision | 2 +- libbcachefs/btree_iter.h | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.bcachefs_revision b/.bcachefs_revision index 0718a7c7..faa5b410 100644 --- a/.bcachefs_revision +++ b/.bcachefs_revision @@ -1 +1 @@ -cdf89ca564aa1916f16a58a06a395bfb3a86d302 +4c58f10d4897ff15849e6c028a9f665e03b8d4c0 diff --git a/libbcachefs/btree_iter.h b/libbcachefs/btree_iter.h index 876bf42c..61bbb7bc 100644 --- a/libbcachefs/btree_iter.h +++ b/libbcachefs/btree_iter.h @@ -303,8 +303,9 @@ __bch2_btree_iter_peek_and_restart(struct btree_trans *trans, { struct bkey_s_c k; - while (k = __bch2_btree_iter_peek(iter, flags), - bkey_err(k) == -EINTR) + while ((hweight64(trans->paths_allocated) > BTREE_ITER_MAX / 2) || + (k = __bch2_btree_iter_peek(iter, flags), + bkey_err(k) == -EINTR)) bch2_trans_begin(trans); return k;