1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_REBALANCE_TYPES_H
3 #define _BCACHEFS_REBALANCE_TYPES_H
5 #include "bbpos_types.h"
6 #include "move_types.h"
8 #define BCH_REBALANCE_STATES() \
13 enum bch_rebalance_states {
14 #define x(t) BCH_REBALANCE_##t,
15 BCH_REBALANCE_STATES()
19 struct bch_fs_rebalance {
20 struct task_struct __rcu *thread;
21 struct bch_pd_controller pd;
23 enum bch_rebalance_states state;
24 u64 wait_iotime_start;
26 u64 wait_wallclock_start;
28 struct bch_move_stats work_stats;
30 struct bbpos scan_start;
31 struct bbpos scan_end;
32 struct bch_move_stats scan_stats;
37 #endif /* _BCACHEFS_REBALANCE_TYPES_H */