| /* 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 */ |