mirror of
https://github.com/koverstreet/bcachefs-tools.git
synced 2025-02-23 00:00:02 +03:00
30 lines
876 B
C
30 lines
876 B
C
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
#ifndef _BCACHEFS_PROGRESS_H
|
||
|
#define _BCACHEFS_PROGRESS_H
|
||
|
|
||
|
/*
|
||
|
* Lame progress indicators
|
||
|
*
|
||
|
* We don't like to use these because they print to the dmesg console, which is
|
||
|
* spammy - we much prefer to be wired up to a userspace programm (e.g. via
|
||
|
* thread_with_file) and have it print the progress indicator.
|
||
|
*
|
||
|
* But some code is old and doesn't support that, or runs in a context where
|
||
|
* that's not yet practical (mount).
|
||
|
*/
|
||
|
|
||
|
struct progress_indicator_state {
|
||
|
unsigned long next_print;
|
||
|
u64 nodes_seen;
|
||
|
u64 nodes_total;
|
||
|
struct btree *last_node;
|
||
|
};
|
||
|
|
||
|
void bch2_progress_init(struct progress_indicator_state *, struct bch_fs *, u64);
|
||
|
void bch2_progress_update_iter(struct btree_trans *,
|
||
|
struct progress_indicator_state *,
|
||
|
struct btree_iter *,
|
||
|
const char *);
|
||
|
|
||
|
#endif /* _BCACHEFS_PROGRESS_H */
|