summaryrefslogtreecommitdiff
path: root/libbcachefs/lru.c
diff options
context:
space:
mode:
authorKent Overstreet <kent.overstreet@linux.dev>2025-07-20 21:54:12 -0400
committerKent Overstreet <kent.overstreet@linux.dev>2025-07-20 21:54:12 -0400
commitbb6528ab73a806f919704e7b48f9d9fc5ca6e6c9 (patch)
tree4a1236a7c76a99f50f1c676039ac4678720d6dbb /libbcachefs/lru.c
parent11f3aee1e621bbc84c3909e53553502f71915bec (diff)
Update bcachefs sources to e54ff0aa9688 bcachefs: Hook up progress indicators for most recovery passes
Diffstat (limited to 'libbcachefs/lru.c')
-rw-r--r--libbcachefs/lru.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/libbcachefs/lru.c b/libbcachefs/lru.c
index ee14656c..76109b37 100644
--- a/libbcachefs/lru.c
+++ b/libbcachefs/lru.c
@@ -9,6 +9,7 @@
#include "ec.h"
#include "error.h"
#include "lru.h"
+#include "progress.h"
#include "recovery.h"
/* KEY_TYPE_lru is obsolete: */
@@ -207,11 +208,16 @@ int bch2_check_lrus(struct bch_fs *c)
bch2_bkey_buf_init(&last_flushed);
bkey_init(&last_flushed.k->k);
+ struct progress_indicator_state progress;
+ bch2_progress_init(&progress, c, BIT_ULL(BTREE_ID_lru));
+
CLASS(btree_trans, trans)(c);
int ret = for_each_btree_key_commit(trans, iter,
BTREE_ID_lru, POS_MIN, BTREE_ITER_prefetch, k,
- NULL, NULL, BCH_TRANS_COMMIT_no_enospc,
- bch2_check_lru_key(trans, &iter, k, &last_flushed));
+ NULL, NULL, BCH_TRANS_COMMIT_no_enospc, ({
+ progress_update_iter(trans, &progress, &iter);
+ bch2_check_lru_key(trans, &iter, k, &last_flushed);
+ }));
bch2_bkey_buf_exit(&last_flushed, c);
return ret;