/* SPDX-License-Identifier: GPL-2.0 */ | |
#ifndef _BCACHEFS_MOVE_TYPES_H | |
#define _BCACHEFS_MOVE_TYPES_H | |
#include "bbpos_types.h" | |
struct bch_move_stats { | |
enum bch_data_type data_type; | |
struct bbpos pos; | |
char name[32]; | |
atomic64_t keys_moved; | |
atomic64_t keys_raced; | |
atomic64_t sectors_seen; | |
atomic64_t sectors_moved; | |
atomic64_t sectors_raced; | |
}; | |
struct move_bucket_key { | |
struct bpos bucket; | |
u8 gen; | |
}; | |
struct move_bucket { | |
struct move_bucket_key k; | |
unsigned sectors; | |
}; | |
struct move_bucket_in_flight { | |
struct move_bucket_in_flight *next; | |
struct rhash_head hash; | |
struct move_bucket bucket; | |
atomic_t count; | |
}; | |
#endif /* _BCACHEFS_MOVE_TYPES_H */ |