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