Linux 6.13-rc7
[linux.git] / fs / bcachefs / move_types.h
blobe22841ef31e475fdfa11d8dcc7d48adb8d333897
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _BCACHEFS_MOVE_TYPES_H
3 #define _BCACHEFS_MOVE_TYPES_H
5 #include "bbpos_types.h"
7 struct bch_move_stats {
8 enum bch_data_type data_type;
9 struct bbpos pos;
10 char name[32];
12 atomic64_t keys_moved;
13 atomic64_t keys_raced;
14 atomic64_t sectors_seen;
15 atomic64_t sectors_moved;
16 atomic64_t sectors_raced;
19 struct move_bucket_key {
20 struct bpos bucket;
21 u8 gen;
24 struct move_bucket {
25 struct move_bucket_key k;
26 unsigned sectors;
29 struct move_bucket_in_flight {
30 struct move_bucket_in_flight *next;
31 struct rhash_head hash;
32 struct move_bucket bucket;
33 atomic_t count;
36 #endif /* _BCACHEFS_MOVE_TYPES_H */