Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _BCACHEFS_PROGRESS_H
3#define _BCACHEFS_PROGRESS_H
4
5/*
6 * Lame progress indicators
7 *
8 * We don't like to use these because they print to the dmesg console, which is
9 * spammy - we much prefer to be wired up to a userspace programm (e.g. via
10 * thread_with_file) and have it print the progress indicator.
11 *
12 * But some code is old and doesn't support that, or runs in a context where
13 * that's not yet practical (mount).
14 */
15
16struct progress_indicator_state {
17 unsigned long next_print;
18 u64 nodes_seen;
19 u64 nodes_total;
20 struct btree *last_node;
21};
22
23void bch2_progress_init(struct progress_indicator_state *, struct bch_fs *, u64);
24void bch2_progress_update_iter(struct btree_trans *,
25 struct progress_indicator_state *,
26 struct btree_iter *,
27 const char *);
28
29#endif /* _BCACHEFS_PROGRESS_H */