at v6.16 29 lines 876 B view raw
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 */